MySql小于带有Group By子句的数量

MySql小于带有Group By子句的数量,mysql,sql,Mysql,Sql,在报表表中,每天有多条日期、时间和数量记录。我想分别为每天的记录选择小于3的数量总和 到目前为止,我有: SELECT DATE(date_time) AS date_time, SUM(quantity) AS quantity FROM report WHERE date_time BETWEEN ? AND ? AND quantity < 3 GROUP BY DATE(date_time) 选择后: | date_time | quantity ----------

在报表表中,每天有多条日期、时间和数量记录。我想分别为每天的记录选择小于3的数量总和

到目前为止,我有:

SELECT
  DATE(date_time) AS date_time,
  SUM(quantity) AS quantity
FROM report
WHERE date_time BETWEEN ? AND ?
AND quantity < 3
GROUP BY DATE(date_time)
选择后:

| date_time  | quantity
 -------------
| 2017-08-14 | 2
| 2017-08-15 | 1
| 2017-08-16 | 1

我怎样才能做到这一点呢?

试试这个:你需要使用
HAVING
过滤组,而
WHERE
过滤行

SELECT DATE(date_time) as date_time
    ,SUM(quantity) as quantity
FROM report
WHERE date_time BETWEEN '' AND  ''
GROUP BY DATE(date_time)
HAVING SUM(quantity) < 3  --Before it was data specific COUNT(quantity)
选择日期(日期时间)作为日期时间
,总和(数量)为数量
来自报告
其中日期和时间介于“”和“”之间
按日期分组(日期和时间)
在数据特定计数(数量)之前,总和(数量)小于3

查看在查询末尾包含sum(quantity)<3的子句readd
注意在datetime中使用
between
。例如,请参见。
date\u time>='2017-08-01'和date\u time<'2018-09-01'
,根据@HoneyBadger),选择后如何计算数量?正如我在上面演示的,在选择之后,我是否可以在没有日期和时间的情况下得到结果为4?如果您仍然希望求和并返回所需输出的单行,那么您必须使用子查询。先试试你自己,如果你不知道,请回复。
SELECT DATE(date_time) as date_time
    ,SUM(quantity) as quantity
FROM report
WHERE date_time BETWEEN '' AND  ''
GROUP BY DATE(date_time)
HAVING SUM(quantity) < 3  --Before it was data specific COUNT(quantity)