我有两列:userid和date。我想要第三列,对于每一行(每个userid和date\u accessed组合),它返回date\u accessed的下一个最高日期。现在我的问题是:
SELECT
userid,
date_accessed AS first_date,
(SELECT date_accessed
FROM table
WHERE date_accessed > first_date
ORDER BY date_accessed ASC
LIMIT 1) AS second_date
FROM table
但这不起作用-有人能帮我理解为什么吗?
1条答案
按热度按时间smdncfj31#
使用子查询,正确的语法是:
注意,列引用都是用它们的表名限定的。
如果希望每个用户都这样,还需要一个相关子句:
如果日期是唯一的,您可以使用
LEAD()
: