0

我在分组行时遇到问题。

示例表

ID, GroupID, INFO, COUNTER
1, 123456, INFO, 21
2, 654321, INFO, 20
3, 123456, INFO, 30
4, 654321, INFO, 11

首先,我想用这个来展示它们:

SELECT * 
FROM table 
GROUP BY GroupID 
ORDER BY COUNTER DESC 
LIMIT 0, 60

所以它应该只显示一种组类型。可以,但是顺序不好。所以我认为它没有得到正确的counter配对数量GroupID

正确显示的结果是:(主订单选择器必须是count

ID, GroupID, INFO, COUNTER
3, 123456, INFO, 30
2, 654321, INFO, 20

我该怎么解决?

4

1 回答 1

1
    SELECT tablename.* FROM tablename 
    WHERE tablename.COUNTER = 
(SELECT MAX(COUNTER) FROM tablename AS f WHERE f.GroupID = tablename.GroupID) 
    ORDER BY tablename.COUNTER DESC 

已编辑:这将为您提供包含每个 GroupID 的 COUNTER 最大值的完整行,并按 COUNTER desc 对最终结果进行排序。

于 2013-03-07T22:20:24.840 回答