我有一个表,像一个:显示所有分组结果和排序
| 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对于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
(我需要它的总和排序(或只是用作排序参数))。我应该创建一个临时表,然后使用下面的解决方案吗?
你能澄清你通过你的帖子的“被之和排序”是什么意思 - 澄清?什么东西? – Toote 2012-08-09 21:44:47
按单个组的时间戳值的总和排序,就像字母按照与一组字母相对应的数字的总和排序一样。 – arik 2012-08-09 21:47:40
如果列是时间戳我不确定SUM聚合函数的行为,所以我不太关注 – Toote 2012-08-09 22:10:00