gpt4 book ai didi

sql - 获取动态列的行数

转载 作者:行者123 更新时间:2023-12-04 05:59:03 24 4
gpt4 key购买 nike

我有一个 sql server 数据库,我正在使用以下查询来获取任何给定员工迟到的出勤日期列表。

SELECT MIN(att.Date) 
from Attendance att
where att.Date between '12/01/2011 00:00:00' and '12/31/2011 00:00:00'
and att.EmpID = 4700
GROUP BY EmpID, CONVERT(VARCHAR, att.Date , 111)
having min(CONVERT(VARCHAR, att.Date , 8)) > '09:00:00'

该查询返回一个没有列名的日期列表。
我需要的是计算这个列表的日期。
如何使用此查询完成此操作?

最佳答案

尝试这个:

WITH CTE AS (
SELECT MIN(att.Date) [minDate]
FROM Attendance att
WHERE att.Date between '12/01/2011 00:00:00'
AND '12/31/2011 00:00:00'
AND att.EmpID = 4700
GROUP BY EmpID, CONVERT(VARCHAR, att.Date , 111)
HAVING MIN(CONVERT(VARCHAR, att.Date , 8)) > '09:00:00')

SELECT COUNT(minDate) FROM CTE

Alt 不使用 CTE:
SELECT COUNT(minDate) FROM (
SELECT MIN(att.Date) [minDate]
FROM Attendance att
WHERE att.Date between '12/01/2011 00:00:00'
AND '12/31/2011 00:00:00'
AND att.EmpID = 4700
GROUP BY EmpID, CONVERT(VARCHAR, att.Date , 111)
HAVING MIN(CONVERT(VARCHAR, att.Date , 8)) > '09:00:00') AS tbl

关于sql - 获取动态列的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9138684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com