mysql与sqlserver倒序与正序查询

mysql与sqlserver倒序与正序查询,第1张

//搜索前10条记录 

 

select * from table limit 10 

 

//倒序排列----以id做排序

 

select * from table order by id desc 

//正序排列----以id号排序

 

select * from table order by id asc 

 

//搜索前10条记录并倒序排列 

 

select * from table order by id desc limit 10 

 

//limit 要放在后面

有两个思路

1、按照各自的活动状态先排序,插入到临时表,最后再union all所有结果集

create temporary table tmp1

select * from tb where 活动状态='筹备中' order by 开始时间

create temporary table tmp2

select * from tb where 活动状态='进行中' and 开始时间 is not null order by 开始时间

create temporary table tmp3

select * from tb where 活动状态='进行中' and 开始时间 is null

create temporary table tmp4

select * from tb where 活动状态='已结束' order by 开始时间 desc

(select * from tmp1)

union all

(select * from tmp2)

union all

(select * from tmp3)

union all

(select * from tmp4)

2、通过field函数自定义排序

select * from tb order by field(活动状态,'筹备中','进行中','已结束') asc,开始时间 asc

但这种只能按指定排序,你这种多种排序,有困难。

可以看看上面两种方法结合或许有更好的方法。

SELECT * FROM (select id,name from table order by id desc limit 0,3) as tbl order by tbl.id asc


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7505436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存