请问下 mysql 中怎么查询特定月份的数据呀 时间格式是 yyyymmdd

2019-08-21 18:14:04 +08:00
 yunshui

每个月的会查,想查特定的月份,比如 234 456 这样的

2537 次点击
所在节点    程序员
8 条回复
wps353
2019-08-21 18:15:26 +08:00
date_format 应该能帮助你。
yunshui
2019-08-21 18:17:03 +08:00
@wps353 SELECT *  FROM tbl_order GROUP BY DATE_FORMAT(CreateTime,'%Y-%m');

SELECT sum(money), DATE_FORMAT(CreateTime,'%Y-%m')  FROM tbl_order GROUP BY DATE_FORMAT(CreateTime,'%Y-%m');  这样吗?
tgich
2019-08-21 18:22:11 +08:00
select * from table where year(create_time)=2019 and month(create_time) in (2,3,4);
yunshui
2019-08-21 18:25:20 +08:00
@tgich 谢谢,我试试~感谢
hhhzccc
2019-08-21 19:06:22 +08:00
SELECT
sum( CASE MONTH ( a.CreateTime ) WHEN '2' THEN 1 ELSE 0 END ) AS `2`,
sum( CASE MONTH ( a.CreateTime ) WHEN '3' THEN 1 ELSE 0 END ) AS `3`,
sum( CASE MONTH ( a.CreateTime ) WHEN '4' THEN 1 ELSE 0 END ) AS `4`
FROM tbl_order a WHERE a.CreateTime >= '2019-01-01' and a.CreateTime <= '2019-12-31';
我觉得 where 条件后面尽量少使用函数,会破坏索引,但是如果数据量少,也无所谓了。
mmdsun
2019-08-21 19:17:11 +08:00
like 也行。

create-time like "2019-08-%" //8 月数据。
Leigg
2019-08-22 08:41:40 +08:00
where 条件语句中使用函数将导致索引失效
Leigg
2019-08-22 08:44:52 +08:00
where 00:00:00<=t<=23:59:59

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/593957

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX