求一个SQL语句!!

pbyhz 2006-04-19 03:05:58
表:
id t_name f_name

1 植物 树
2 植物 花
3 植物 草
4 动物 猪
5 动物 狗
6 动物 牛
7 动物 羊
8 微生物 XXXX菌
9 微生物 AAAA菌

其中id是自增加字段,现在想select达到这样的效果:
动物(4)
植物(3)
微生物(2)

也就是按照t_name这个字段所含有的f_name的数量从大到小排列
语句该如何写?(也可以不取出t_name后面跟的数字)

...全文
84 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pbyhz 2006-04-19
hyrongg(世道变得太快) 正解!!!3Q!!!
  • 打赏
  • 举报
回复
pbyhz 2006-04-19
我关键是要t_name的所含有的内容数从大到小的排序,xzxxiong(天策)和itblog(i like i do)的都没有实现count的从大到小的排序啊,而且这个表不只那么多数据,数据很庞大
  • 打赏
  • 举报
回复
hyrongg 2006-04-19
select t_name+'('+cast(count(1) as varchar)+')' from table group by t_name order by count(1) desc
  • 打赏
  • 举报
回复
xeqtr1982 2006-04-19
declare @t table(id int,t_name varchar(10),f_name varchar(10))
insert into @t select 1,'植物','树'
union all select 2,'植物','花'
union all select 3,'植物','草'
union all select 4,'动物','猪'
union all select 5,'动物','狗'
union all select 6,'动物','牛'
union all select 7,'动物','羊'
union all select 8,'微生物','XXXX菌'
union all select 9,'微生物','AAAA菌'


select t_name+'('+cast(count(*) as varchar)+')' from @t group by t_name order by count(*) desc
--排下序
  • 打赏
  • 举报
回复
itblog 2006-04-19
select t_name,count(1) as num from 表 group by t_name order by t_name desc

  • 打赏
  • 举报
回复
xeqtr1982 2006-04-19
declare @t table(id int,t_name varchar(10),f_name varchar(10))
insert into @t select 1,'植物','树'
union all select 2,'植物','花'
union all select 3,'植物','草'
union all select 4,'动物','猪'
union all select 5,'动物','狗'
union all select 6,'动物','牛'
union all select 7,'动物','羊'
union all select 8,'微生物','XXXX菌'
union all select 9,'微生物','AAAA菌'


select t_name+'('+cast(count(*) as varchar)+')' from @t group by t_name
  • 打赏
  • 举报
回复
xzxxiong 2006-04-19
select t_name,count(*) from 表名 group by t_name order by t_name desc;
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2006-04-19 03:05
社区公告
暂无公告