智慧检务解决方案:sql排序问题:仅从注册会员表中查哪个省征婚人数最多

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/09 03:30:13
查哪个省征婚人数最多:
一张会员表:
id user state
1 张三 江苏省
2 李四 浙江省
3 王五 广东省
4 赵六 江苏省
5 周七 浙江省
6 王八 江苏省

大家注意到没有,以上表中:
江苏省共有3个人征婚
浙江省共有2个人征婚
广东省共有1个人征婚

那么,我希望通过数据库求出人数最多的前二名的省份是哪两个省,这个使用什么sql语句呢?

当然,我可以设置在注册会员时自动给每个省加1的方法,但是由于删除不良会员等的原因,那种统计往往不够准确,并且我一开始也没有这样做。

那么,现在,如何通过上面那个表找出哪个省的征婚人数最多呢?这其实可能是一个sql的常用语句,但技术员不在,我这里急需,希望大家能够给我解答。谢谢

假设表名位test
select top 2 state,count([state]) as [datacount]from test group by [state] order by [datacount] desc 显示前2位的省份
select top 3 state,count([state]) as [datacount]from test group by [state] order by [datacount] desc 显示前3位的省份
select state,count([state]) as [datacount]from test group by [state] order by [datacount] desc 根据用户的数量从大到小显示省份

select count(id),state from 表 group by state order by count(id) DESC