我有一张桌子,就像那个:
| B | 1 |
| C | 2 |
| B | 2 |
| A | 2 |
| C | 3 |
| A | 2 |
我想取它,但已排序和分组。也就是说,我希望它按字母分组,但按组的最高总和排序。另外,我想显示组内的所有条目:
| C | 3 |
| C | 2 |
| A | 2 |
| A | 2 |
| B | 2 |
| B | 1 |
顺序是这样的,因为 C 有 3 和 2。3+2=5,高于 A 的 2+2=4,而 A 又高于 B 的 2+1=3。
我需要显示所有“分组”字母,因为我需要显示其他所有不同的列。
编辑:
感谢您的快速回复。然而,我有胆量进一步询问。
我有这个查询:
SELECT * FROM `ip_log` WHERE `IP` IN
(SELECT `IP` FROM `ip_log` GROUP BY `IP` HAVING COUNT(DISTINCT `uid`) > 1)
GROUP BY `uid` ORDER BY `IP`
上面描述中的字母是ip
(我需要按 IP 地址分组),数字是timestamp
(我需要按总和排序(或仅用作排序参数))。我应该创建一个临时表,然后使用下面的解决方案吗?