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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用sql对搜索结果排序并添加序号相关的知识,希望对你有一定的参考价值。

例如在表A中有两个字段,学号,日期。我想要的结果是
学号 日期 序号

001 3-10 1
001 3-11 2

001 3-12 3
002 3-10 1
002 3-11 2
谁能帮忙写一下!解决了给分!

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、如果想对更多的字段进行排序,可以进行添加。

参考技术A

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

本回答被提问者和网友采纳
参考技术B SELECT RANK() OVER (ORDER BY a.日期 ASC) AS 序号, a.* FROM a
如果提示不支持over,点击忽略就可以了。
参考技术C 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字句中,而你要添加一个自动序列号又必须用到这个函数
所以只能插入一个临时表然后再通过读取临时表的方法

建议你在建立数据库的时候就设立一个自动字段

追问

虽然不是我需要用到的,但还是学习到了,谢谢!

问一个sql查询,如何给查询结果加上序号

SQL Server 下

SELECT ROW_NUMBER()  OVER(ORDER BY ID) ROWNU,A1 FROM TA1

解说:在这里,TA1是一个表,A1是表中的一个字段,表的另一个字段为ID本用于自增这儿用来排序。

SQL Server 中的 ROW_NUMBER() 得到一个查询出的顺序,但这个函数要求给出一个查的排序方案,因为SQL Server的存储是无关顺序的。


在Oracle里,本就有rownum。可直接用:

SELECT rownum,A1 FROM TA1

其它的数据库可能有别的方案,不一而论。

参考技术A

SQL Server 下

1、SELECT ROW_NUMBER()  OVER(ORDER BY ID) ROWNU,A1 FROM TA1

解说:在这里,TA1是一个表,A1是表中的一个字段,表的另一个字段为ID本用于自增这儿用来排序。

SQL Server 中的 ROW_NUMBER() 得到一个查询出的顺序,但这个函数要求给出一个查的排序方案,因为SQL Server的存储是无关顺序的。

在Oracle里,本就有rownum。可直接用:

1、SELECT rownum,A1 FROM TA1

其它的数据库可能有别的方案,不一而论。

参考资料

百度.百度[引用时间2018-1-4]

参考技术B oracle 有rownum 其它数据我不清楚

以上是关于怎么用sql对搜索结果排序并添加序号的主要内容,如果未能解决你的问题,请参考以下文章

(Sqlserver)将在查询结果插入新表中的时候添加一个自动增长列么 SQL语句怎么写

如何在sql的查询结果中加入序号

PHP+MYSQL查询结果上加一个排名序号且分页不间断

如何让SELECT 查询结果额外增加自动递增序号sqlserver

怎样在SQl数据库的表格里添加“序号”表示字段

sql中使用distinct加上排序怎么查询?