mysql 整型时间戳_整型unix时间戳
问题:开发时建表没有 建立day month year 字段 直接用的时间戳,但是统计时要用到按天,月,年进行排序,如何实现?
mysql没有提供unix时间戳的专门处理函数,如果遇到时间分组,而用的又是整型unix时间戳,则只有通过FROM_UNIXTIM()函数将unix时间戳转为datetime等其他的日期类型!
下面来看具体的例子
一、年度查询
查询 本年度的数据
代码示例:
~~~
SELECT *
FROM news_info
WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate( ))
~~~
二、查询季度数据
查询数据附带季度数
代码示例:
~~~
SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` ) )
FROM `news_info`
~~~
其他的同前面部分:查询 本季度的数据
代码示例:
~~~
SELECT *
FROM news_info
WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter( curdate( ))
~~~
三、查询月度数据
本年本月统计(MySQL)
代码示例:
~~~
select * from booking where month(booking_time) =
month(curdate()) and year(booking_time) = year(curdate())
~~~
本周统计(MySQL)
复制代码 代码示例:
~~~
select * from spf_booking where month(booking_time) =
month(curdate()) and week(booking_time) = week(curdate())
~~~
四、时间段
N天内记录
代码示例:
~~~
WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段) <= N
~~~
当天的记录
代码示例:
~~~
where date(时间字段)=date(now())
~~~
或
~~~
where to_days(时间字段) = to_days(now());
~~~
查询一周:
代码示例:
~~~
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);
~~~
查询一个月:
代码示例:
~~~
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(column_time);
~~~
查询'06-03'到'07-08'这个时间段内所有过生日的会员:
代码示例:
~~~
Select * From user Where
DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d')
<= '07-08';
~~~
统计一季度数据,表时间字段为:savetime
代码示例:
~~~
group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3))
~~~
或
~~~
select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1,count(*)
from yourTable
group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1;
~~~
五、分组查询
1、年度分组
2、月度分组
3、先按年度分组,再按月度分组
4、按年月分组
代码示例:
~~~
SELECT count(ArticleId), date_format(FROM_UNIXTIME( `BlogCreateTime`),'%y%m') sdate
FROM `news_info`
group by sdate
~~~
结果:
代码示例:
|count( ArticleId ) |sdate|
|--|--|
|17|0901|
|11|0902|
|5|0903|
|6|0904|
|2|0905|
|1 |0907|
|12|0908|
|6| 0909|
|11|0910|
|3|0911|
~~~
SELECT count(*) from ea_user
WHERE FROM_UNIXTIME(addtime,'%Y年%m月%d日 %h') ="2016年03月17日 10"
order by addtime desc
~~~
mysql 整型时间戳_整型unix时间戳相关推荐
- php把北京时间转换时间戳,北京时间与unix时间戳(unix timestamp)的互转方法
unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp),是从1970年1月1日(UTC/GMT的午夜)开始到某一时刻所经过的秒数, ...
- linux时间戳转换c语言,Unix时间戳和北京时间的相互转换(C语言实现 )
一.问题背景 最近项目中需要上传包含时间戳的设备数据到服务器平台.原本想把"年","月","日","时","分 ...
- mysql转unix时间戳_mysql日期与unix时间戳互转
#### UNIX时间戳转换为日期用函数: FROM_UNIXTIME(unix_timestamp,format) ```sql select FROM_UNIXTIME(1156219870); ...
- localdate 年月转换_如何将unix时间戳转换为LocalDate(时间)而不进行转换
我正在使用org.joda.time.LocalDate和LocalDateTime.从外部源我得到一个Unix时间戳,并希望从中获取一个LocalDate(时间).关键是,它在该外部系统的接口中定义 ...
- ios linux时间戳转时间,将UNIX时间戳转换为数据 – iOS
我有一个iOS应用程序,它解析数据的 JSON提要.在这个数据中有一些UNIX时间戳,我存储在NSString中.我想要做的是将这些时间戳转换为日期(月和日).但是我试图在没有自己进行任何划分的情况下 ...
- linux时间戳转换不对,转换为unix时间戳不正确
我有我写了一个函数(如果有一个很好的标准替代,请让我知道...)转换为unix时间戳不正确 time_t get_unix_time(string time_str) { time_t loctime ...
- utc秒数 linux时间戳,UTC时间与UNIX时间戳之间的转换
将当前系统时间转换为UNIX时间戳 BASH 1 2 $date +%s 1263236513 +%s是date的格式控制,上面命令的意思其实就是将当前系统时间以UNIX时间戳的形式输出. 如果要将任 ...
- linux时间戳截止,给定一个Unix时间戳,如何得到那一天的开始和结束?
只是date时间 $beginOfDay = DateTime::createFromFormat('Ymd H:i:s', (new DateTime())->setTimestamp($ti ...
- python 数学建模、时间戳_python-在matplotlib中绘制Unix时间戳
可以调用matplotlib.dates.date2num,其中plt.plot是datetime.datetime对象的列表. 该图将包括xticks,格式为30061319433281871873 ...
最新文章
- mysql的聚合查询_MySql聚合查询
- 网站前中期外链优化少不了这三点!
- 【Java 网络编程】客户端 Socket 配置 ( 超时时间 | 端口复用 | Nagle 算法 | 心跳包机制 | 连接关闭机制 | 缓冲区大小 | 性能权重设置 | 紧急数据设置 )
- thinkphp几个表的数据合并,并用数组分页
- window环境使用C++实现WebSocket
- 基于.NET实现数据挖掘--朴素贝叶斯算法
- request.getRequestURL()和request.getRequestURI()区别
- 使用WebStorm开发web前端 网页中文乱码问题的解决方案
- ISO 18000-6c 访问标签--应用程序访问操作ISO 18000-6C标签的方法
- IPv4(分类编址)
- 基于C语言设计的无边框背景透明窗体
- appstore软件销售数据统计分析软件Prismo
- 记以ELK结合的Web日志数据采集心得整理
- 必须来GeekPwn的十大理由
- 最笨的办法处理wos国家字段
- oracle elsif和else if,ORACLE ELSIF 与 ELSE IF
- 用python写情书_《使用Python进行自然语言处理》学习笔记一 | 学步园
- 大学计算机作业互评评语简短,大学生互评评语简短
- Vitamio 依赖导入 步骤
- 使用python绘制wav 音频文件频谱图