我需要两列:1显示'日期'和其他显示'最大日期在表-日期在行'。我一直在'datediff'列中得到零,并认为嵌套的选择可以工作。
SELECT date, DATEDIFF(max_date, date) AS datediff
(SELECT MAX(date) AS max_date
FROM mytable)
FROM mytable
GROUP BY date
目前从上面的代码中得到这个错误:输入不匹配'('期待{,';'}(第2行,pos 2)正确的格式是:
date | datediff
--------------------------
2021-08-28 | 0
2021-07-26 | 28
2021-07-23 | 31
2021-08-11 | 17
如果您想要日期差异,您可以使用:
SELECT date, DATEDIFF(MAX(date) OVER (), date) AS datediff
FROM mytable
GROUP BY date
您可以使用解析函数MAX() Over()
SELECT date, MAX(date) OVER() - date FROM mytable;
在sqlfiddle上试过了