SQL按某个字段值相同的记录数从小到大查询排序
按某个字段值相同的记录数从小到大查询排序?如一个表有一万条记录,有1000条字段B的值为内容1的,2000条字段B的值为内容2的,3000条字段B的值为内容3的,4000...
按某个字段值相同的记录数从小到大查询排序?
如一个表有一万条记录,有1000条字段B的值为内容1的,2000条字段B的值为内容2的,3000条字段B的值为内容3的,4000条字段B的值为内容4的,
现在要把字段B值相同的总数少的排列在前面,字段B值相同总数大的排列在后面,SQL语句怎么写
我只是打个比方,其实字段B是姓名,可能有成千上万种,是要把每条记录都排序显示出来,有可能吗 展开
如一个表有一万条记录,有1000条字段B的值为内容1的,2000条字段B的值为内容2的,3000条字段B的值为内容3的,4000条字段B的值为内容4的,
现在要把字段B值相同的总数少的排列在前面,字段B值相同总数大的排列在后面,SQL语句怎么写
我只是打个比方,其实字段B是姓名,可能有成千上万种,是要把每条记录都排序显示出来,有可能吗 展开
7个回答
展开全部
--
解决排序
select
a.a,
a.b,
a.c
from
table
a,
(select
a,
count(a)
ordera
from
table
group
by
a)
b
where
a.a
=
b.a
order
by
b.a
desc,
a.b
--
c
增加序号
需要知道是什么数据库
解决排序
select
a.a,
a.b,
a.c
from
table
a,
(select
a,
count(a)
ordera
from
table
group
by
a)
b
where
a.a
=
b.a
order
by
b.a
desc,
a.b
--
c
增加序号
需要知道是什么数据库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写的麻烦了点,呵呵,可能还有更好的方法,但我试了,可以实现你的要求
SELECT t.a
FROM t1 t,
(SELECT inerT.a inerTa,COUNT(inerT.a) cnt FROM t1 inerT GROUP BY inerT.a) t3
WHERE t.a = t3.inerTa
ORDER BY t3.cnt
SELECT t.a
FROM t1 t,
(SELECT inerT.a inerTa,COUNT(inerT.a) cnt FROM t1 inerT GROUP BY inerT.a) t3
WHERE t.a = t3.inerTa
ORDER BY t3.cnt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在B上建立一个索引,如果想从小到大就建立一个升序索引
如果想从大到小就建立一个降序索引
然后用一个语句select * from 表名 order by B
如果想从大到小就建立一个降序索引
然后用一个语句select * from 表名 order by B
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由于你的字段B 的 值特殊是1,2,3,4 ,相同字段总数也特殊
所以你可以 直接使用 select * from 表 order by 字段B
---
如果不同可以使用
select 字段B ,count(字段B)from 表 group by 字段B order by count(字段B)
----如果字段B 里是文字内容,你怎么判断他是相同的内容?有时候中间存在空格SQL会认为是不同的 !
所以你可以 直接使用 select * from 表 order by 字段B
---
如果不同可以使用
select 字段B ,count(字段B)from 表 group by 字段B order by count(字段B)
----如果字段B 里是文字内容,你怎么判断他是相同的内容?有时候中间存在空格SQL会认为是不同的 !
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询