新人求助按月查询条数sql语句怎么写

qq_41609479 2018-01-09 03:59:18
比如说
数据库有很多条数据,然后我要查2017年5月份到12月份,每月的数据条数,SQL语句该怎么写
...全文
739 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mars佩奇 2018-01-11
  • 打赏
  • 举报
回复
这个挺简单的,可以用where条件或group by都可以啊
Sunyiban 2018-01-11
  • 打赏
  • 举报
回复
需求不明~~回答很乱~~给你两个关键字 date_format group_by
x447476052 2018-01-11
  • 打赏
  • 举报
回复
按时间字段截取到月份,然后group by
那年花 2018-01-11
  • 打赏
  • 举报
回复
SELECT month,CAST(SUM(Profit)as decimal(10,2)) FROM project GROUP BY month ORDER BY month ASC
查询每个月利润的分组排行 分组用group by
东风玖哥 2018-01-11
  • 打赏
  • 举报
回复
你连这都不会呀?
hellomrxu 2018-01-11
  • 打赏
  • 举报
回复
时间.substring(1,6)分组可以解决
Leonis丶L 2018-01-11
  • 打赏
  • 举报
回复
select to_char(字段名字,'MM') as Times,count(*) from 表名 group by to_char(字段名字,'MM')
ooo-ooo 2018-01-10
  • 打赏
  • 举报
回复
也可以用case语句吧,写起来比较清晰

select
    case
        when mydate >= "2017-05" and mydata < "2017-06" then "5~6月"
        when ******
    else null
    end groupDate, count(*)
from test_table
group by
    case
        when mydate >= "2017-05" and mydata < "2017-06" then "5~6月"
        when ******
    else null
    end;
化工厂很高 2018-01-10
  • 打赏
  • 举报
回复
引用 6 楼 xwn_2016 的回复:
明显是group by该干的活
哦,楼主还要查询每月的数据,那是应该有group by分组查询
xwn_2016 2018-01-10
  • 打赏
  • 举报
回复
明显是group by该干的活
化工厂很高 2018-01-10
  • 打赏
  • 举报
回复
引用 4 楼 qq_27263827的回复:
[quote=引用 3 楼 qq_29623901 的回复:] 假设表名为 abc 存储时间的字段为 abctime 如果你是mysql数据库: SELECT COUNT(*) FROM abc WHERE abctime >= "2017-05" AND abctime <= "2017-12" 如果你是oracle数据库: select count(*) from abc where abctime >= to_date('2017-05','yyyy/mm') and abctime <= to_date('2017-12','yyyy/mm')
group by 一下咯[/quote] group by干嘛?
碧瑶碧莲 2018-01-10
  • 打赏
  • 举报
回复
引用 3 楼 qq_29623901 的回复:
假设表名为 abc 存储时间的字段为 abctime 如果你是mysql数据库: SELECT COUNT(*) FROM abc WHERE abctime >= "2017-05" AND abctime <= "2017-12" 如果你是oracle数据库: select count(*) from abc where abctime >= to_date('2017-05','yyyy/mm') and abctime <= to_date('2017-12','yyyy/mm')
group by 一下咯
化工厂很高 2018-01-09
  • 打赏
  • 举报
回复
假设表名为 abc 存储时间的字段为 abctime 如果你是mysql数据库: SELECT COUNT(*) FROM abc WHERE abctime >= "2017-05" AND abctime <= "2017-12" 如果你是oracle数据库: select count(*) from abc where abctime >= to_date('2017-05','yyyy/mm') and abctime <= to_date('2017-12','yyyy/mm')
初见_冰 2018-01-09
  • 打赏
  • 举报
回复
select count(id) AS count from table_name where time>='2018-01-01 00:00:00' and time<='2018-01-31 23:59:59'; 袋盖这个样子,照着改一下 table_name 改为你的表明 time改为你的时间域名
有梦想的小白 2018-01-09
  • 打赏
  • 举报
回复
可以加判断条件,给定where条件,每次条件都在月初第一天到月末最后一天之间。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧