想象一下這個表t1
,排序GROUP BY agregats
+----------+-------+--------+
| group_id | name | age |
+----------+-------+--------+
| 1 | A1 | 1 |
| 1 | A2 | 2 |
| 1 | A3 | 3 |
| 2 | B1 | 4 |
+----------+-------+--------+
使用MySQL中下面的查詢,
SELECT group_id, name, COUNT(*) FROM t1 GROUP BY group_id
我們得到,
+----------+-------+--------+----------+
| group_id | name | age | COUNT(*) |
+----------+-------+--------+----------+
| 1 | A1 | 2 | 3 |
| 2 | B1 | 4 | 1 |
+----------+-------+--------+----------+
正如你可以在這裏看到,這是可能的值name = A1和age = 2不是來自同一記錄。
我的問題是,我怎麼可以控制單個結果形成name
和age
列顯示,所以內容是從一個記錄?有沒有辦法以某種方式對它們進行排序?例如按相反順序按年齡排序會給
+----------+-------+--------+----------+
| group_id | name | age | COUNT(*) |
+----------+-------+--------+----------+
| 1 | A3 | 3 | 3 |
| 2 | B1 | 4 | 1 |
+----------+-------+--------+----------+
謝謝。
這不會SOVE問題:( – ddofborg
請提供一些更多的細節,什麼如果你使用MIN(),第二個其他列可能需要作爲結果?也許嘗試只是添加ORDER BY計數(*)? – pomaxa