我需要从数据集中删除“重复”条目,该数据集显示在我们应用程序的前端。
重复是由客户端定义为同一交易所中的速度测试结果。
这是我当前的查询,
SELECT id, isp, exchange_name, exchange_postcode_area, download_kbps, upload_kbps
FROM speedtest_results
WHERE postcode IS NOT NULL
AND exchange_name IS NOT NULL
ORDER BY download_kbps DESC, upload_kbps ASC
此查询将返回一些像这样的数据,
12062 The University of Bristol Bristol North BS6 821235 212132
12982 HighSpeed Office Limited Totton SO40 672835 298702
18418 University of Birmingham Victoria B9 553187 336889
14050 Sohonet Limited Lee Green SE13 537686 104439
19981 The JNT Association Holborn WC1V 335833 74459
19983 The JNT Association Holborn WC1V 333661 84397
5652 University of Southampton Woolston SO19 330320 64200
如您所见,WC1V 邮政编码区域有两个测试,我希望将其聚合为一个结果,最好使用 max
而不是 avg
.
如何修改查询以确保为交换选择最快的速度测试结果,同时仍然能够返回所有最大速度的列表?
最佳答案
看来我太仓促了,没有提出问题!我已经解决了我自己的问题。
SELECT id, isp, exchange_name, exchange_postcode_area, MAX(download_kbps) as download_kbps, upload_kbps
FROM speedtest_results
WHERE exchange_name IS NOT NULL
AND postcode IS NOT NULL
GROUP BY exchange_name
ORDER BY MAX(download_kbps) DESC
LIMIT 20
关于mysql - 通过交换找到最快的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34201030/