mysql查询在某个时间内的数据sql语句
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-02 20:03:13 浏览: 评论:0
本文章来给在家介绍一个简单的mysql是查询在某个时间内的数据sql语句,希望本教程对各位朋友有所帮助.
比如我这边查询jz_user表用户创建时间大于四月一号到四月三十号为例,代码如下:
- select FROM_UNIXTIME(create_time),user_id from jz_user Where DATE_FORMAT(FROM_UNIXTIME(create_time),'%Y-%m-%d') <= DATE_FORMAT("2013-4-30",'%Y-%m-%d') AND DATE_FORMAT(FROM_UNIXTIME(create_time),'%Y-%m-%d') >= DATE_FORMAT("2013-4-1",'%Y-%m-%d')
TO_DAYS(date) 函数
给定一个日期date,返回一个天数,从年份0开始的天数,比如下面的例子,代码如下:
- mysql> SELECT TO_DAYS('2009-08-07');
- +-----------------------+
- | TO_DAYS('2009-08-07') |
- +-----------------------+
- | 733991 |
- +-----------------------+
- 1 row in set
TO_DAYS() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内.
请记住,MySQL“日期和时间类型”中的规则将日期中的二位数年份值转化为四位,例如,‘2010-08-07′和 ‘10-08-07′ 被视为同样的日期,代码如下:
- mysql> SELECT TO_DAYS('2009-08-07'),TO_DAYS('09-08-07');
- +-----------------------+---------------------+
- | TO_DAYS('2009-08-07') | TO_DAYS('09-08-07') |
- +-----------------------+---------------------+
- | 733991 | 733991 |
- +-----------------------+---------------------+
- 1 row in set --phpfensi.com
对于1582年之前的日期,或许在其它地区为下一年,该函数的结果实不可靠的.
now() 函数,NOW() 函数返回当前的日期和时间,代码如下:
- mysql> select (now());
- +---------------------+
- | (now()) |
- +---------------------+
- | 2010-08-26 21:18:44 |
- +---------------------+
- 1 row in set
to_days(current_date)也可以实现上面的功能,代码如下:
- mysql> select to_days(current_date);
- +-----------------------+
- | to_days(current_date) |
- +-----------------------+
- | 734375 |
- +-----------------------+
- 1 row in set
现在我们可以得出问题的答案了,代码如下:
select * from news where to_days(now())-to_days(newsdate) < 30 order by view desc limit 0, 10
可以获得一个月内浏览数最高的十条记录.
Tags: mysql查询时间 某个时间sql
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)