189 8069 5689

mysql怎么按时间排序 mysql 按时间排序

请问mysql 中 怎么实现这种排序,按照状态排序正序,再按照开始时间排序正序,

有两个思路

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的清丰网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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;

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

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

mysql 数据库查询 按时间排序 如果时间一样 按主键排序怎么写 在一张表里

select * from tab order by date DESC,table_id DESC。

在数据库中,输入这些就可以按时间排序。

MySQL 是一个关系型数据库,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP ,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

mysql 多时间字段排序问题?

例子语句(表名TAB1,时间字段D1,D2,D3,D4,D5):

SELECT GREATEST(D1,D2,D3,D4,D5), ......

FROM TAB1

ORDER BY 1 DESC

说明,需要使用GREATEST函数,不能用MAX,MAX是计算列最大值的。

mysql 时间排序问题

-------------------------------------------方法1

select * from (

select

tablename_tmp.*,

@rownum:=@rownum+1 ,

if(time =DATE_FORMAT(now(),'%Y-%m-%d %H:00') ,@rank:=@rank+1,@rank:=0) as rank

from (

select * from tablename order by time desc

)

tablename_tmp ,

(select @rownum :=0 , @ptime := null ,@rank:=0) a

) a

order by rank desc ,time desc

---------------------------------------方法2

select * from tablename order by 

(case when DATE_FORMAT(time ,'%k')=0 then 24 when  DATE_FORMAT(time ,'%k')*1=DATE_FORMAT(now(),'%k')*1  then DATE_FORMAT(time ,'%k') else 25 end) ,time desc

题主测试一下?你这里的24点应该是第二天的00:00:00  。你这样排有什么用处?

Mysql查询怎么排序?

在MySQL中,可以指定按照多个字段进行排序。例如,可以使employee表按照d_id字段和age字段进行排序。排序过程中,先按照d_id字段进行排序,遇到d_id字段的值相等的情况时,再把d_id值相等的记录按照age字段进行排序。

查询employee表中的所有记录,按照d_id字段的降序方式和age字段的升序方式进行排序。


分享文章:mysql怎么按时间排序 mysql 按时间排序
URL地址:http://cdxtjz.cn/article/hepgcg.html

其他资讯