求一段SQL语句的写法,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/07/03 04:29:06
数据表:
Number Name Type Nativeplace
001 李一 管理类 湖南
002 李二 管理类 湖南
003 李三 普通类 广东
004 李四 普通类 湖北
005 李五 普通类 广东
006 李六 管理类 重庆

Select后要求结果:
管理类 普通类
第一位 湖南 2人 广东 2人
第二位 重庆 1人 湖北 1人
第三位 0人 0人

感谢 !!!!
select type,Nativeplace,count(*) ,
rank() over(order by count(*) desc ) as count_rank
from tablename
group by type,Nativeplace
order by count_rank , type,Nativeplace

"rank() over(order by count(*) desc ) as count_rank rank()"这句是什么?运行出错呢.

下面的答案都是不行的呀~~~~~~~~~~~~~~~

select type,Nativeplace,count(*) ,
rank() over(order by count(*) desc ) as count_rank
from tablename
group by type,Nativeplace
order by count_rank , type,Nativeplace

select type,Nativeplace,count(*)
from tablename
group by type,Nativeplace
order by type,Nativeplace

没明白你的要求!

select Nativeplace,count(Nativeplace)
from yourtable
group by type,Nativeplace
order by type,Nativeplace
效率高些

select Nativeplace,count(1)
from yourtable
group by type,Nativeplace
order by type,Nativeplace

count括号里的内容没有实际意义,可以是1,2,字段名,*,用1效率高