SQL数据集行内计数

一行是人员这个月1号到31号排班,怎么算这一行里面B班多少天,C班多少天,多少天排休?排班截图.jpeg

FineReport yzm184638 发布于 2024-3-14 13:18
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CHENXINLv4见习互助
发布于2024-3-14 16:49

SELECT ---*    FID,    FNumber,    FName,    FDepartment,    FOffice,    FYear,    FMonth,    DAYNAME,    DAY    FROM PAIBAN unpivot(DAY FOR DAYNAME IN(FDAY1,FDAY2,FDAY3,FDAY4,FDAY5,FDAY6,FDAY7,FDAY8,FDAY9,FDAY10,FDAY11,FDAY12,FDAY13,FDAY14,FDAY15,FDAY16,FDAY17,FDAY18,FDAY19,FDAY20,FDAY21,FDAY22,FDAY23,FDAY24,FDAY25,FDAY26,FDAY27,FDAY28,FDAY29,FDAY30,FDAY31)) UPWHERE 1=1排班截图.jpeg

最佳回答
0
CovidLv3中级互助
发布于2024-3-14 13:19(编辑于 2024-3-14 13:22)

啥数据库?

-------------

最简单暴力的SQL

SELECT 姓名,DAY1,COUNT(姓名) [SL] FROM (

SELECT 姓名,day1 from TABLE

UNION ALL

SELECT 姓名,day1 from TABLE

UNION ALL

SELECT 姓名,day1 from TABLE

UNION ALL

...........

UNION ALL

SELECT 姓名,day31 from TABLE

) T GROUP BY 姓名,DAY1

  • yzm184638 yzm184638(提问者) 啥意思》?
    2024-03-14 13:23 
  • Covid Covid 回复 yzm184638(提问者) 最粗暴的列转行啊
    2024-03-14 13:43 
  • yzm184638 yzm184638(提问者) 回复 Covid SQLServer 使用这个么
    2024-03-14 15:50 
  • Covid Covid 回复 CHENXIN(提问者) 也可以
    2024-03-14 16:31 
  • CHENXIN CHENXIN(提问者) 回复 Covid --------这个也可以------ SELECT FID, FNumber, FName, FDepartment, FOffice, FYear, FMonth, DAYNAME, DAY FROM PAIBAN unpivot(DAY FOR DAYNAME IN(FDAY1,FDAY2,FDAY3,FDAY4,FDAY5,FDAY6,FDAY7,FDAY8,FDAY9,FDAY10,FDAY11,FDAY12,FDAY13,FDAY14,FDAY15,FDAY16,FDAY17,FDAY18,FDAY19,FDAY20,FDAY21,FDAY22,FDAY23,FDAY24,FDAY25,FDAY26,FDAY27,FDAY28,FDAY29,FDAY30,FDAY31)) UP WHERE 1=1
    2024-03-14 16:45 
最佳回答
0
用户bBKn44909079Lv3见习互助
发布于2024-3-14 13:39(编辑于 2024-3-14 13:39)

为什么不在报表上计数,不是更方便

  • yzm184638 yzm184638(提问者) 额,因为报表比较复杂,不符合我的需求哎
    2024-03-14 15:50 
  • 1关注人数
  • 195浏览人数
  • 最后回答于:2024-3-14 16:49
    请选择关闭问题的原因
    确定 取消
    返回顶部