Select * from 表名 where time BETWEEN '2010-07-01 00:00:00' AND '2010-07-01 16:59:59'
创新互联建站是一家集网站建设,涪陵企业网站建设,涪陵品牌网站建设,网站定制,涪陵网站建设报价,网络营销,网络优化,涪陵网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
你的要求是 '2010-7-12 11:18:54' 到 '2010-7-12 11:22:20' 之间的
显然2010-7-12 11:18:46 和 2010-7-12 11:22:22不在二者之间,为什么要包含在结果集内?
我也附议楼上三位
select sum(csize) from table where cdtime between '2010-7-12 11:18:54' and '2010-7-12 11:22:20'
--------------------------------------------
那如果表里再多一行 '2010-7-12 11:22:21', 结果集是6个还是5个?
这显然属于你的描述出了问题
--------------------------------------------
很遗憾,请给出更清晰的描述
即使用你的嵌套查询,结果集也会是5,不会是6
你要给字段名出来啊,比如,你要查的字段名,你的时间字段名。
select 所查字段名 from xx(表) where (时间字段) '2017-03-10 07:00:00' and (时间字段) '2017-03-10 08:55:00' and 所查字段 is null ;
你的问题描述的不够明确,不太清楚你要的效果,这样,给你两种效果:
1、显示某个时间段的数据:
select * from tb where hour(col_datetime)=18 and to_days(col_datetime)=to_days(curdate())
2、按时间段排序,显示当天所有时间段数据:
select '今天'+cast(hour(col_datetime) as varchar(2))+'时发布的内容',* from tb where to_days(col_datetime)=to_days(curdate()) order by col_datetime
时间格式为2008-06-16
查询出当天数据:
SELECT
*
FROM
`table`
WHERE
date(时间字段)
=
curdate();
查询出当月字段:
SELECT
*
FROM
`table`
WHERE
month(
时间字段)
=
month(
now(
)
)
;
时间格式为1219876……
UNIX时间,只要应用“FROM_UNIXTIME(
)”函数
例如查询当月:
SELECT
*
FROM
`table`
WHERE
month(
from_unixtime(
reg_time
)
)
=
month(
now(
)
)
;
查询上一个月的呢?变通一下!
SELECT
*
FROM
`table`
WHERE
month(
from_unixtime(
reg_time
)
)
=
month(
now(
)
)
-1;
就这么简单,复杂的以后再补充!
问题:
仅用慢日志文件,如何快速获取分时报告?
如果有监控系统,获取分时报告(每小时慢查询的条数报告)不难,如果只有慢日志文件,就会有点费劲。
实验:
通过 pt-query-digest --timeline 功能,可以输出带时间戳的慢查询条目
用 sed 将 timeline 报告滤出
安装 termsql
使用 termsql,将报告导入,并使用 SQL 查询一条记录,以展示 termsql 的效果
可以看到 termsql 将 timeline 报告的每一行,整理成了一条数据,放在 SQLite 中。
下面就可以尽情使用 SQL 获取分时报告:
用一个复杂一点慢日志,获得如下结果:
可以轻松定位到慢查询的热点时段,也便于发现业务的周期性规律。
termsql 是一个很方便的小工具:
1. 可以用于将文本导出到 SQLite 中,方便 SQL 查询。
2. 它与 ps 或者 top 合用也有惊喜,比如找出 CPU 占用率高于 25% 的进程: