【发布时间】:2015-11-08 17:12:25
【问题描述】:
我已经搜索了很多关于这个的不同帖子,但我没有找到适合我的东西。
Using LIMIT within GROUP BY to get N results per group? 和 http://www.sqlines.com/mysql/how-to/get_top_n_each_group 对我不起作用。
我有一个包含以下列的简单 MySQL 表
id , package, user_id, date
我想执行一个查询,我将在其中得到 p>
X Rows / user_id WHERE date > Number Order By date ASC
简而言之,我们希望使用LIMIT of X rows / group 执行Group By user_id,但请记住使用date column 的语句
全表示例:
id , package, user_id, date
1, full, 1 , 1447003159
2, full, 1 , 1447003055
3, full, 1 , 1447002022
4, full, 1 , 1447001013
5, full, 1 , 1447000031
6, mid, 2 , 1447003159
7, mid, 2 , 1447003055
8, mid, 2 , 1447002022
9, mid, 2 , 1447001013
10, mid, 2 , 1447000031
从上表中,我们只想选择 2 行 / user_id 但其中日期 >= 1447000031(但首先要选择 ORDER BY date ASC)
预期输出:
4, full, 1 , 1447001013
3, full, 1 , 1447002022
9, mid, 2 , 1447001013
8, mid, 2 , 1447002022
【问题讨论】:
-
所以您希望每个用户拥有超过 1 行?
-
示例表和结果请教
-
that date > Number? -
已编辑。希望现在很清楚
标签: mysql