多重查询的问题

ltaixxx 2015-06-17 11:49:29
select workName,count(*)
(select count(*) from works where createTime between DATEADD(hh,-1,getdate()) and getdate() and workName=workName) as h1
from works group by workName

这个h1字段 是表述 在某一时间段内的各个员工完成数量(分组查询的) 后面那个 and workName=workName 是不成立的, 为了实现这个目的, 后面的where语句该怎么正确加呢
求大神教下
...全文
174 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2015-06-18
  • 打赏
  • 举报
回复
select workName,count(*) (select count(*) from works where createTime between DATEADD(hh,-1,getdate()) and getdate()) as h1 from works where works.workName= h1.workName group by works.workName
0808xyj 2015-06-18
  • 打赏
  • 举报
回复

SELECT workName,SUM(CASE WHEN createTime between DATEADD(hh,-1,getdate()) and getdate() THEN 1 ELSE 0 END) countNum
FROM works
GROUP BY workName
还在加载中灬 2015-06-18
  • 打赏
  • 举报
回复
没太明白你的意思,你看下哪个是你要的
SELECT workName
,COUNT(1)
,SUM(CASE WHEN createTime between DATEADD(hh,-1,getdate()) and getdate() THEN 1 ELSE 0 END)h1
FROM works
GROUP BY workName
还在加载中灬 2015-06-18
  • 打赏
  • 举报
回复
SELECT workName,COUNT(1)h1
FROM works
WHERE createTime between DATEADD(hh,-1,getdate()) and getdate()
GROUP BY ALL workName
薛定谔的DBA 2015-06-18
  • 打赏
  • 举报
回复
--原来的语句,子查询加别名
select workName,count(*)
(select count(*) as [count] --这里加别名
from works 


--或者改为这样
select workName
,SUM(CASE WHEN createTime between DATEADD(hh,-1,getdate()) and getdate() THEN 1 ELSE 0 END) AS [count]
from works  
GROUP BY workName
小生我怕怕 2015-06-18
  • 打赏
  • 举报
回复
SELECT workName ,COUNT(1) ,SUM(CASE WHEN createTime between DATEADD(hh,-1,getdate()) and getdate() THEN 1 ELSE 0 END)h1 FROM works GROUP BY workName

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧