求一个这样语句。(不知道是不是异想天开?)

lianliankan222 2005-04-12 06:36:33
表1里这样的数据:
姓名、性别、职工状态
张三 男 101
小四 女 102
张四 男 101
小九 女 101
我想有没有这样的语句能实现:
统计职工状态为“101”、“102”、“总人数”人数
实现这些都放在一个sql语句里?不要告诉我用笔算?
...全文
125 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yesyesyes 2005-04-13
  • 打赏
  • 举报
回复
select case when grouping(bj)=1 then '总人数' else 职工状态 end 职工状态,
count(*) 人数 from 表1
group by 职工状态 with rollup
remote_peng 2005-04-13
  • 打赏
  • 举报
回复
select 职工状态, count(*) as 總人數 from 表 group by 职工状态
lucylu0726 2005-04-13
  • 打赏
  • 举报
回复
当然能实现,你以职工状态分组,你的表里肯定应该有一个代码的吧,你再根据代码
sum就可以了算出总数了。
lianliankan222 2005-04-13
  • 打赏
  • 举报
回复
没人知道`?能不能实现给个话吧?
lianliankan222 2005-04-13
  • 打赏
  • 举报
回复
TO:gzhughie(hughie),按大哥的sql语句,我顺利的得到我想要的结果,sum用的好啊!小弟佩服!
TO:remote_peng(一個想做程序員的女孩),你的方法我没试。但我相信一样能得出我的效果。谢谢!!
结帖!
remote_peng 2005-04-13
  • 打赏
  • 举报
回复

TO:remote_peng(一個想做程序員的女孩) ( ),这个代码是能统计出状态的数据,但如果加上
where 条件的话,就一条数据都没有了。。
================================================

這樣應該可以 的
select 职工状态, count(*) as 總人數 from 表 group by 职工状态 having 條件




gzhughie 2005-04-13
  • 打赏
  • 举报
回复
SELECT SUM(CASE WHEN A.职工状态=101 THEN 1 ELSE 0 END) AS 职工状态101,
SUM(CASE WHEN A.职工状态=102 THEN 1 ELSE 0 END) AS 职工状态102,
COUNT(*) AS 总人数
FROM 表1 A
lianliankan222 2005-04-13
  • 打赏
  • 举报
回复
TO:lucylu0726() ( ),能不能说详细点?我有点不太明白。
TO:remote_peng(一個想做程序員的女孩) ( ),这个代码是能统计出状态的数据,但如果加上where 条件的话,就一条数据都没有了。。
TO: yesyesyes() ( ),这位大哥的代码,我看的好晕。看不明白。能解释下吗?

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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