mysql - 通过交换找到最快的速度

标签 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 .

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

最佳答案

看来我太仓促了,没有提出问题!我已经解决了我自己的问题。

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/

相关文章:

mysql - as2,和“;在文本文件中停止读取文本

mysql - e 标志和特殊字符在 mysql 中起什么作用?

mysql - 是否可以将 MySQL 5.7.21 数据库导入到 MySQL 5.6.38 设置中?

mysql - 不正确的日期时间值 : '2018-03-00' for column 'created_date' at row 1

来自两个表的具有相同名称的mysql额外列

php - MySQL 查询 - 如何获取相关标签的数量

mysql - 选择产品并加入类别分层

mysql - BEFORE INSERT 触发器,在多次插入时忽略某些行

MySQL 5.7 中忽略 INNODB 表计数查询的索引

c# - MySQL 和 C#.NET DataGridView、更新、插入和删除