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

lianliankan222 2005-04-12 06:36:33
表1里这样的数据:
姓名、性别、职工状态
张三 男 101
小四 女 102
张四 男 101
小九 女 101
我想有没有这样的语句能实现:
统计职工状态为“101”、“102”、“总人数”人数
实现这些都放在一个sql语句里?不要告诉我用笔算?
...全文
109 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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() ( ),这位大哥的代码,我看的好晕。看不明白。能解释下吗?
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-04-12 06:36
社区公告
暂无公告