3
對不起,我的英文不好。如何在考慮記錄序列的列上GROUP BY?
我想GROUP BY
關於user_id
的一堆考慮其序列。我會盡力解釋你正是我想要的:
表:訂單
+-----------+----------+------------+
| id | user_id | amount |
+-----------+----------+------------+
| 1 | 100 | 5 |
| 2 | 100 | 5 |
| 3 | 100 | 10 |
| 4 | 101 | 15 |
| 5 | 101 | 10 |
| 6 | 101 | 5 |
| 7 | 102 | 5 |
| 8 | 100 | 5 |
| 9 | 100 | 10 |
| 10 | 102 | 10 |
+-----------+----------+------------+
我要的是:
+-----------+----------+------------+----------------+
| user_id | count | total_amount | id_range |
+-----------+----------+------------+----------------+
| 100 | 3 | 20 | 1,3 |
| 101 | 3 | 30 | 4,6 |
| 102 | 1 | 5 | 7,7 |
| 100 | 2 | 15 | 8,9 |
| 102 | 1 | 10 | 10,10 |
+-----------+----------+------------+----------------+
我試過到目前爲止:
SELECT user_id, count(user_id) as count, sum(amount) as total_amount FROM `orders` GROUP By user_id
但它只是所有記錄上的GROUP BY,無論其序列如何。
「島」問題。這可能是有用的http://stackoverflow.com/questions/4324623/sql-group-by-only-rows-which-are-in-sequence –