sql - 如何创建一个新列,显示表中的最大日期和行中的日期之间的差异?
问题描述
我需要两列:1 列显示“日期”,另一列显示“表中的最大日期 - 行中的日期”。我一直在“datediff”列中得到一个零,并认为嵌套选择会起作用。
SELECT date, DATEDIFF(max_date, date) AS datediff
(SELECT MAX(date) AS max_date
FROM mytable)
FROM mytable
GROUP BY date
目前从上面的代码中得到这个错误: mismatched input '(' Expecting {, ';'}(line 2, pos 2) 最后正确的格式是:
date | datediff
--------------------------
2021-08-28 | 0
2021-07-26 | 28
2021-07-23 | 31
2021-08-11 | 17
解决方案
推荐阅读
- swift - 没有得到正确的裁剪图像?
- javascript - 如何删除 componentWillUnmount() 中的函数调用?
- asp.net-core - ASP.NET Core:如何将 RazorPage 应用程序的控制器用作访问相同数据的移动应用程序的后端?
- python - 如何安装 optparse 模块?
- android - 以编程方式为自定义视图设置形状颜色
- javascript - Javascript 使用 window.innerWidth 和 window.innerHeight 缩放页面内容
- networking - 网络打印、不良标签打印的数据包分析
- javascript - 如何为每个帖子添加一个 eventListener(不使用 jQuery)?
- reactjs - 反应原生 - 超过一定长度的文本不显示
- r - 在 R 中计算行数时无法按日期分组