SQL按日期排序并获得每位用户的结果

时间:2016-08-17 08:34:40

标签: mysql sql

我有一个包含以下字段的数据库表

ID    User ID    Comment   Date
1     1          Test      2016-08-07
2     2          Test2     2016-08-17
3     1          Test3     2016-08-16
4     2          Test4     2016-08-15

首先,我们获取最新日期,然后获取该日期的用户的所有记录。然后是该日期的下一个最新日期和用户的所有记录。所以输出是

2     2          Test2     2016-08-17
4     2          Test4     2016-08-15
3     1          Test3     2016-08-16
1     1          Test      2016-08-07

让我知道是否有人可以提供SQL查询

由于

3 个答案:

答案 0 :(得分:0)

请在mysql中使用ORDER BY

示例:

SELECT * FROM user ORDER BY userId, date desc

答案 1 :(得分:0)

我认为您需要使用的SQL查询是:

select * 
from user
order by date desc, user_id

答案 2 :(得分:0)

试试这个

select user.*
from user
join(
  select UserID, Max(Date)  md
  from user 
  group by UserId
  ) dts on dts.UserID = user.UserID
order by dts.md desc, user.UserId, user.Date desc