【问题标题】:Limit results by removing duplicates, but keep the highest of the duplicates?通过删除重复项来限制结果,但保留最高的重复项?
【发布时间】:2015-03-19 06:00:57
【问题描述】:

不太清楚如何在标题中很好地解释它。

注意:我使用 PHP 和 PDO 来查询 sql 数据库。

我有一个表格,其中包含一个不唯一的数字列表,以及一个包含我只想要最高的数字的第二列 - 并且只有当它们中的最高值高于 50 时,例如:

0 - 50
0 - 80
1 - 24
1 - 88
2 - 11
2 - 44

从上面,我只想返回 0 - 801 - 88,有什么好的方法来实现这一点?

我只能想到一种效率低下的方法,它返回所有行,然后逐一比较,将值添加到数组中,如果循环中存在更高的值,则替换它们。

【问题讨论】:

标签: php mysql sql pdo duplicates


【解决方案1】:

检查:

SELECT DISTINCT col1, MAX(col2) maximus
FROM my_table 
GROUP BY col1
HAVING maximus > 50

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多