通过交换找到最快的速度

时间:2015-12-10 11:44:00

标签: mysql mysql-5.7

我需要从数据集中删除“重复”条目,该数据集正在我们的应用程序的前端显示。

客户将副本定义为同一交换中的速度测试结果。

这是我当前的查询,

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

如何修改我的查询以确保我为交换选择最快的速度测试结果,同时仍然能够返回所有最大速度的列表?

1 个答案:

答案 0 :(得分:0)

似乎我太急于创造一个问题了!我已经解决了自己的问题。

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