本文目录一览:
- 1、php mysql 时间排序
- 2、mysql 数据库查询 按时间排序 如果时间一样 按主键排序怎么写 在一张表里
- 3、请问mysql 中 怎么实现这种排序,按照状态排序正序,再按照开始时间排序正序,
- 4、Mysql查询怎么排序?
- 5、mysql排序,按照距离现在的时间从短到长排序
php mysql 时间排序
select * from table order by 时间字段1 asc,时间字段2 desc
以上是两个时间字段,按时间1升序,时间2降序!
如果你只有一个时间段的时间,并且每次查询排序的话,就用楼上的代码!
mysql 数据库查询 按时间排序 如果时间一样 按主键排序怎么写 在一张表里
主要的作用主要确定该数据的唯一性。比如说id=1,name=张三。我们要在数据库中,找到这条数据可以使用select
*
from
表
where
id=1
这样就可以把张三查找出来了。而这个张三,也可以出现同名,所有用id来做主键。
而你说的insert
into
是插入操作。当id设置为了主键,再插入一个相同的主键值,就为报错误,并不会更新,你想要个更新就必须执行update。
请问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查询怎么排序?
在MySQL中,可以指定按照多个字段进行排序。例如,可以使employee表按照d_id字段和age字段进行排序。排序过程中,先按照d_id字段进行排序,遇到d_id字段的值相等的情况时,再把d_id值相等的记录按照age字段进行排序。
查询employee表中的所有记录,按照d_id字段的降序方式和age字段的升序方式进行排序。
mysql排序,按照距离现在的时间从短到长排序
用union拼接一下就行了,形如
selet * from tablename where hdtime='2013-5-6' order by hdtime
union all
selet * from tablename where hdtime'2013-5-6' order by hdtime desc
当然这不是标准的语法,mysql中的时间比较偶不太清楚,你要自己修改一下。