請教高手這樣的SQL語句要怎麼寫!

zj3164 2003-08-23 10:41:33
-----------------------------------------
table1
序號 工號 打卡時間
1 0301029 2003-04-30 17:50:11.000
2 0205035 2003-04-30 17:55:07.000
3 0209029 2003-04-30 17:55:11.000
4 0207242 2003-04-30 18:07:01.000
5 0207074 2003-04-30 18:08:53.000
6 0106004 2003-04-30 18:41:57.000
7 0209051 2003-04-30 18:46:51.000
8 0204032 2003-04-30 19:35:58.000
9 0303062 2003-04-30 19:36:37.000
10 0204019 2003-04-30 19:36:49.000
------------------------------------------
table 2
工號 姓名 部門
0008001 陳秋波 007
0105002 胡其海 010
0105003 張海濤 004
0105004 馬世祥 008
0106004 王俊 005
0106006 劉進發 011
0107004 馮杰 004
0107006 徐子詳 011
0107007 王海峰 014
0107010 王本超 012
0107011 趙孝旺 011
0107014 張利軍 009
0107016 汲懷民 008
0107019 邱發清 009
0107021 韓同杰 012
-------------------------------------
寫一個sql 怎麼樣查出一天內每個部門打卡的總次數
匯總: 怎麼樣查出一個月內每個部門打卡的總次數
注:員工同一天無論打多次卡算打卡一次,如果一個月每天都打卡則算30次
如果一個部門20人在30內每天都打卡(同一天無論打多次卡算打卡一次)
則此部門打卡次數20*30
請問怎麼寫才是正確的
...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zj3164 2003-08-23
  • 打赏
  • 举报
回复
謝謝,給分了!
txlicenhe 2003-08-23
  • 打赏
  • 举报
回复
Select 部门,count(*) from table2 a
join (Select distinct 工号,convert(char(10),打卡时间,120) 日期 from table1 ) b
on a.工号 = b.工号
group by 部门
zj3164 2003-08-23
  • 打赏
  • 举报
回复
同一天的多次打卡只算一次打卡,但是兩天內的打卡就應該算兩次打卡,請高手幫忙!
select distinct 工号 from table1 的結果是不符合要求的,
伍子V5 2003-08-23
  • 打赏
  • 举报
回复
Select 部门,count(1) from table2 a,(select distinct 工号 from table1 ) b
where a.工号 = b.工号
group by 部门
txlicenhe 2003-08-23
  • 打赏
  • 举报
回复
Select 部门,count(*) from table2 a
join (Select distinct 工号,convert(char(10,打卡时间,120) 日期 from table1 ) b
on a.工号 = b.工号
group by 部门

34,594

社区成员

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

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