数据库里面的顺序本来就不受你控制,除非是使用聚集索引。
正常情况下查询数据是可以使用order by来将输出结果排序,至于数据库内部你控制不了也没必要关心。
2. sql 怎么把已排序的结果再排序
在原SQL外面再套一层。
比如原SQL为
select a,b from table order by a;
要根据b重新排序,则改为:
select * from (select a,b from table order by a) order by b;
但这样多套一层在数据比较多的情况下,会严重影响性能,此时可以使用表,
比如将原先排序的资料插入到某一个表中,再从该表查询资料,再进行排序。
3. sql按某个字段值顺序排序
升序:select * from 表名 order by 表中的字段 asc(MySQL中默认是升序排列,可不写) ;
降序:select * from 表名 order by 表中的字段 desc ;
4. SQL中表中字段筛选后排序,然后进行排名。 在线等!!!
selectscore.*,row_number()over(orderbyScore_ToScoredesc)score_orderfromscorewhereCourse_id='xxx'
xxx是你要查的课程id
5. SQL先查找再排序的问题
select top 2 * from shang1 order by id asc
意思是先排序,然后列出前2条记录
要实现楼主想要的功能,只能先列出2条记录,再排序
1.select top 2 * from shang1 列出前2条
2.select * from (select top 2 * from shang1) order by id asc 将这2条记录排序
因此答案就是select * from (select top 2 * from shang1) order by id asc
6. 求一条sql语句,按照成绩降序排序,并显示名次,如123
SELECT
id,
read_total,
(
SELECT
COUNT(read_total)
FROM
t_circle_topic
WHERE
ct.read_total <= read_total
) AS rank
FROM
t_circle_topic AS ct
ORDER BY
read_total DESC
(6)sql选中一条记录再排序扩展阅读
ORDER BY 语句用于对结果集进行排序。
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
7. SQL语句中,选择结果如何按指定顺序排序
可以这样实现题主所要求的排序
select * from A_TABLE1 where
name in(‘张三’,‘李四’,‘王五’)
order by (case name when '张三' then 1
when '李四' then 2 else 3 end);
8. sql查询问题,按照要求筛选后再按照重复次数排序
比较一般性的查询方法, 用row_number() over(partition by ... order by ...)先给记录按na列的值分组排序(按no降序),然后取出编号值为3~6的记录即可.
9. 求一个sql查询语句,一条记录,要显示它在众多记录中,按时间排序后的排名
selectRowNum
from
(
selectROW_NUMBER()Over(ORDERBY完成时间)asRowNum,*from表名
)t
wheret.姓名='张三'