如何用一条sql语句得到员工表里 学历字段里值为 "硕士" "本科" "专科" 的各有多少人?

indusl 2011-07-14 02:26:25
如何用一条sql语句得到员工表里 学历字段里值为 "硕士" "本科" "专科" 的各有多少人?
...全文
848 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ms 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]

select 学历,count(*) from tb where 学历 in("硕士","本科","专科") group by 学历
[/Quote]


("硕士","本科","专科") 这里头应该是单引号。
HDNGO 2011-07-14
  • 打赏
  • 举报
回复
declare @test Table
(
profession NVARCHAR(15)
)
insert into @test(profession) values('硕士')
insert into @test(profession) values('硕士')
insert into @test(profession) values('硕士')
insert into @test(profession) values('本科')
insert into @test(profession) values('专科')
insert into @test(profession) values('高中')
insert into @test(profession) values('初中')
insert into @test(profession) values('小学')

select COUNT(*),case profession
when '硕士' then '硕士'
when '本科' then '本科'
when '专科' then '专科'
else '其它' end
from @test
group by
case profession
when '硕士' then '硕士'
when '本科' then '本科'
when '专科' then '专科'
else '其它' end
liuyjcel 2011-07-14
  • 打赏
  • 举报
回复
select 学历,count(*) from tb group by 学历
根据学历来一个聚合就可以了啊。。



liuyjcel 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]
select 学历,count(*) from tb where 学历 in("硕士","本科","专科") group by 学历
[/Quote]

正解!!!
indusl 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 aspwebchh 的回复:]
select count(*),xl as 学历
from
(
select
*,
case 学历
when '本科' then 学历
when '硕士' then 学历
when '大专' then 学历
else '其它'
end as xl
from tb
) as t group by xl
[/Quote]

你好牛逼
挨踢直男 2011-07-14
  • 打赏
  • 举报
回复
select count(*),xl as 学历
from
(
select
*,
case 学历
when '本科' then 学历
when '硕士' then 学历
when '大专' then 学历
else '其它'
end as xl
from tb
) as t group by xl
indusl 2011-07-14
  • 打赏
  • 举报
回复
不是啊,还有其他类啊
flyerwing 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]
select 学历,count(*) '数量' from tb where 学历 in("硕士","本科","专科") group by 学历
[/Quote]
好象行的
Vreey 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 vreey 的回复:]
看楼主这意思是大家帮他想的太多了。
select 学历,count(*) from tb where 学历 group by 学历
也不要带条件了,直接查就行了。
[/Quote]
- -。失误。
改下:select 学历,count(*) from tb group by 学历
indusl 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 hdngo 的回复:]
才发现是你呀。。。。
这个问题。。不值8K的~
[/Quote]

你以后多发现发现吧
ASPNETCHENGXU 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 indusl 的回复:]

那这不得需要2条select吗?
[/Quote]

加个union all 把两句连起来啊
Vreey 2011-07-14
  • 打赏
  • 举报
回复
看楼主这意思是大家帮他想的太多了。
select 学历,count(*) from tb where 学历 group by 学历
也不要带条件了,直接查就行了。
HDNGO 2011-07-14
  • 打赏
  • 举报
回复
才发现是你呀。。。。
这个问题。。不值8K的~
indusl 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]
select 学历,count(*) from tb where 学历 in("硕士","本科","专科") group by 学历
[/Quote]

好牛逼
indusl 2011-07-14
  • 打赏
  • 举报
回复
那这不得需要2条select吗?
蝶恋花雨 2011-07-14
  • 打赏
  • 举报
回复
select 学历,count(*) from tb where 学历 in("硕士","本科","专科") group by 学历
select 学历,count(*) from tb where 学历 in("高中","初中","小学") group by 学历
挨踢直男 2011-07-14
  • 打赏
  • 举报
回复
select count(*) from tb where 学历 not in ("硕士","本科","专科")
HDNGO 2011-07-14
  • 打赏
  • 举报
回复
用sql的case...
indusl 2011-07-14
  • 打赏
  • 举报
回复
是这个意思,那么现在除了 "硕士","本科","专科",剩余学历的都为"其他",(比如“高中”,“初中","小学"),一句SQL 算出来"其他" 总共多少人,该如何写?
laowang134 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]
select 学历,count(*) from tb where 学历 in("硕士","本科","专科") group by 学历
[/Quote]
楼主应该是这个意思吧!~。
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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