SQL按某个字段值相同的记录数从大到小查询排序

按某个字段值相同的记录数从大到小查询排序?如一个表有一万条记录,有1000条字段A的值为内容1的,2000条字段A的值为内容2的,3000条字段A的值为内容3的,4000... 按某个字段值相同的记录数从大到小查询排序?如一个表有一万条记录,有1000条字段A的值为内容1的,2000条字段A的值为内容2的,3000条字段A的值为内容3的,4000条字段A的值为内容4的,还有字段B内容为时间,字段C内容为空白。如例表:
A B C
001 2011-06-01
001 2013-06-03
001 2012-06-02
002 2012-06-02
001 2014-06-04
002 2011-06-02
003 2012-07-02
002 2013-06-02
003 2011-06-02
需查询后结果为:
A B C
001 2011-06-01 1
001 2012-06-02 2
001 2013-06-03 3
001 2014-06-04 4
002 2011-06-02 1
002 2012-06-02 2
002 2013-06-02 3
003 2011-06-02 1
003 2012-07-02 2
现在要把字段A值相同的总数多的排列在前面,然后字段B值时间最早的排列在前面,字段C按字段A的数量排序填上内容。SQL语句怎么写
C字段要补充序号 sql2000
展开
 我来答
hong9115
2012-07-07
知道答主
回答量:22
采纳率:0%
帮助的人:9.9万
展开全部
这个是可以实现的,但直接实现比较复杂,
可以借助于辅助的一列来简单的实现,
1.就是可以加一列,用来记录与本行中B字段内容相同的记录条数,
使用update语句将新增加的一列进行更新,
2.然后在使用排序,首先对新增加的列进行升序排列,还可以继续在新增加的列内容相同的基础上按照别的字段进行排序,
呵呵,希望能有帮助,^_^
sxdtgsh
推荐于2016-08-15 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:792万
展开全部
-- 解决排序
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 增加序号 需要知道是什么数据库
更多追问追答
追问
sql2000
追答
Sql2000没有行号的语句,所以很难通过sql语句实现你要的增加序号功能。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0ebc72c20
2012-07-07 · TA获得超过1185个赞
知道小有建树答主
回答量:740
采纳率:100%
帮助的人:384万
展开全部
select A,B,
ROW_NUMBER()OVER(PARTITION BY A order by B) AS C
from TABLE
-------------sql 2005 2008 都可以用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3f7683d28
2012-07-07
知道答主
回答量:46
采纳率:0%
帮助的人:24.5万
展开全部
我试试 select *
from 表
group by A
order by A Desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caoyulin3
2012-07-07
知道答主
回答量:59
采纳率:0%
帮助的人:9.8万
展开全部
分组 在 排序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式