首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询:在2个条目中的日期之间等待的时间

SQL查询:在2个条目中的日期之间等待的时间
EN

Stack Overflow用户
提问于 2013-11-19 11:43:47
回答 2查看 51关注 0票数 1

我有一个为给定员工选择最近加薪的查询:

代码语言:javascript
复制
SELECT TOP 1 Raises.EmployeeID, Raises.RaiseAmt, Raises.Date, Raises.SalaryPrior
FROM Raises
WHERE (((Raises.EmployeeID)=[Enter Employee ID: ]))
ORDER BY Raises.Date DESC;

对于多次加薪的员工,我如何显示第一次加薪和第二次加薪之间的时间量?

EN

回答 2

Stack Overflow用户

发布于 2013-11-19 12:16:14

看起来您正在使用SQL Server。您可以使用一个公用表表达式来简化这一过程:

代码语言:javascript
复制
WITH recent_raises AS (
    SELECT TOP 2 Raises.EmployeeID, Raises.RaiseAmt, Raises.Date, Raises.SalaryPrior
    FROM Raises
    WHERE (((Raises.EmployeeID)=[Enter Employee ID: ]))
    ORDER BY Raises.Date DESC;
),
SELECT DATEDIFF(day, r1.Date, r2.Date) AS elapsed_days
FROM recent_raises r1
    JOIN recent_raises r2
        ON r1.Date < r2.Date
票数 0
EN

Stack Overflow用户

发布于 2013-11-19 13:00:07

尝试此查询(仅当当前员工至少有两次加薪时才有效):

代码语言:javascript
复制
SELECT  y.*, DATEDIFF(DAY, y.[2], y.[2]) AS DaysBetweenTwoRaises
FROM
(
SELECT TOP(2) Raises.Date, ROW_NUMBER() OVER(ORDER BY Raises.Date DESC) RowNum
FROM Raises
WHERE Raises.EmployeeID=[Enter Employee ID: ]
ORDER BY Raises.Date DESC
) x
PIVOT ( MAX(x.Date) FOR x.RowNum IN ([1], [2]) ) y;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20062747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档