如何同时使用WHERE BETWEEN和GROUP BY

Sau*_*abh 0 mysql sql aggregate

如何在同一查询中使用wheregroup by 之间的位置

  SELECT `sales-store-id`,
  (SUM (`gen-acute-sales-after-returns`) + SUM(`gen- chronic-sales-after-returns`)) 
   AS `totalGenericSales` ,
  (SUM (`eth-acute-sales- after-returns`) + SUM(`eth-chronic-sales-after-returns`) + SUM(`others-sales- 
after-returns`))
 AS `totalEthicalSales` 
 FROM `sales` GROUP BY `sales-store-id` 
WHERE `date-s` BETWEEN '2018-09-01' AND '2018-10-01'
Run Code Online (Sandbox Code Playgroud)

这是给出SQL错误,所以我尝试了AND而不是WHERE 但是这也没有正确地分组结果它只给出2个具有相同id的结果

   SELECT `sales-store-id`,
      (SUM (`gen-acute-sales-after-returns`) + SUM(`gen- chronic-sales-after-returns`)) 
       AS `totalGenericSales` ,
      (SUM (`eth-acute-sales- after-returns`) + SUM(`eth-chronic-sales-after-returns`) + SUM(`others-sales- 
    after-returns`))
     AS `totalEthicalSales` 
     FROM `sales` GROUP BY `sales-store-id` 
    AND `date-s` BETWEEN '2018-09-01' AND '2018-10-01'
Run Code Online (Sandbox Code Playgroud)

我在这里失踪了什么?

Lee*_*Mac 6

WHERE子句应出现在GROUP BYSQL语句中的子句之前.

SQL语言定义的子句的顺序是:

  • 选择
  • 加入
  • 哪里
  • 通过...分组
  • HAVING
  • 订购
  • LIMIT(MySQL扩展)