
1.假设数据库中有一个名为TestTest的表。表格内容如下图所示。
2.Select*fromTesttestwhereMonth(date)='9';,它表示对TestTest表中的9月份记录的查询。
3.单击“Run”执行SQL语句,用户可以从下面看到,9月份的三个记录被查询了。
4.Select*fromTesttestwhereyear(Date)='2017';在美国2017年是被质疑的一年。如下图所示,2017年仅查询了一条记录,如下图。
一般可以针对记录时间的字段进行筛选获取一段时间的记录。我们可以在where子句里用" 时间字段>='时间下限' and 时间字段<='时间上限' ",或者" 时间字段 between '时间下限' and '时间上限' "限定检索记录范围,还可以利用时间日期函数计算日期字段来筛选出某一时段的记录,例如where year(时间字段)=2016检索出2016年的记录。
具体的写法是千变万化的,需要根据数据结构和查询需求而定。
时间段统计,可以采用 hour(subscribe_time) 取出小时然后分层。思路:select
uid
,CASE WHEN HOUR(subscribe_time) BETWEEN 0 AND 1 THEN '00:00:00'
WHEN HOUR(subscribe_time) BETWEEN 2 AND 3 THEN '02:00:00'
...
ELSE '23:00:00' END -- 生成时间分层部分,insert前外层sql加上日期后作为唯一的时间值
,COUNT(*)
FROM yht_fans WHERE subscribe_time>=UNIX_TIMESTAMP(CURDATE()) and subscribe_time<=UNIX_TIMESTAMP(CURDATE())+86400
GROUP BY 1,2
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)