怎么用sql对搜索结果排序并添加序号

例如在表A中有两个字段,学号,日期。我想要的结果是学号日期序号0013-1010013-1120013-1230023-1010023-112谁能帮忙写一下!解决了给分!... 例如在表A中有两个字段,学号,日期。我想要的结果是
学号 日期 序号

001 3-10 1
001 3-11 2

001 3-12 3
002 3-10 1
002 3-11 2
谁能帮忙写一下!解决了给分!
展开
 我来答
海里的月光0Bz
2019-08-13 · TA获得超过6027个赞
知道答主
回答量:229
采纳率:0%
帮助的人:3.5万
展开全部

1、首先建一张测试表coal_blead,里面有多个字段。

2、输入“select * from coal_blead order by qnet,price”语句,按qnet,price字段进行升序排序。

3、输入“select * from coal_blead order by qnet desc,price desc”语句,先按qnet字段进行降序,再按price字段进行降序。

4、输入“select * from coal_blead order by qnet desc,price asc”语句,先按qnet字段降序,再按price字段进行升序。

5、如果想对更多的字段进行排序,可以进行添加。

yangliwei100
推荐于2018-02-27 · TA获得超过2258个赞
知道小有建树答主
回答量:2216
采纳率:50%
帮助的人:725万
展开全部

select   学号   ,日期    row_number() over(partition by 学号 order by  学号) from A表

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-04-16 · TA获得超过2184个赞
知道小有建树答主
回答量:631
采纳率:100%
帮助的人:644万
展开全部
SELECT RANK() OVER (ORDER BY a.日期 ASC) AS 序号, a.* FROM a
如果提示不支持over,点击忽略就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hejian511
2013-04-16 · TA获得超过846个赞
知道大有可为答主
回答量:1559
采纳率:0%
帮助的人:1477万
展开全部
if exists (select 1 from tempdb..sysobjects where name like '#t%') drop table #t
select identity(int,1,1) id,学号,日期 into #t from A
select * from #t order by 学号
更多追问追答
追问
我想要直接搜索得到,怎么写?
追答
identity(int,1,1)语句只能使用在Into字句中,而你要添加一个自动序列号又必须用到这个函数
所以只能插入一个临时表然后再通过读取临时表的方法

建议你在建立数据库的时候就设立一个自动字段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式