重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么看时间排序,mysql 时间排序

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 中 怎么实现这种排序,按照状态排序正序,再按照开始时间排序正序,

有两个思路

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 (select 时间1 from 表1

union all

select 时间2 from 表2

…………

union all

select 时间N from 表N) as 表名

我只是简单写了一下,查询的是一个字段,要是你的表的字段是完全一样的话,就可以用 * 代替,要是不一样的话,可以手动按照顺序写对应的字段,要是字段个数不一样多的话,可以用''代替没有的字段,不知到我说的能否明白?

Mysql查询怎么排序?

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

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


当前名称:mysql怎么看时间排序,mysql 时间排序
转载注明:http://cqcxhl.cn/article/phsoco.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP