【发布时间】:2015-12-13 18:35:38
【问题描述】:
对不起,我的英语不好。
我正在考虑 user_id 的一堆 GROUP BY 并考虑其序列。我会尽力向你解释我到底想要什么:
表格:订单
+-----------+----------+------------+
| 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,无论其顺序如何。
【问题讨论】:
-
一个“孤岛”问题。这可能会有所帮助stackoverflow.com/questions/4324623/…