我有一个用于订购产品的MySQL表,名为TABLE1。
日期表示购买日期
该表中的其他列目前没有影响。
PRODUCT_ID | DATE | other columns
3 |2018-02-01 | other values
3 |2018-02-03 | other values
3 |2018-02-07 | other values
3 |2018-02-07 | other values
3 |2018-03-02 | other values
我知道第一次订购产品3是2018-02-01
SELECT DATE FROM TABLE1 WHERE PRODUCT_ID = '3' ORDER BY DATE ASC LIMIT 1
如何选择2018年2月1日和2019年3月16日(今天)的每天范围内的产品订购数量,这样我就可以获得这样的表格:
DATE | ORDERS_PER_DAY
2018-02-01 | 1
2018-02-02 | 0
2018-02-03 | 1
...
2018-02-07 | 2
...
2018-03-02 | 1
...
2018-03-15 | 0
2018-03-16 | 0
感谢帮助!
答案 0 :(得分:2)
答案 1 :(得分:1)
我的语法可能并不完全正确,但是您可以使用GROUP BY
子句尝试这种方法吗。
SELECT DATE, COUNT(*) AS ORDERS_PER_DAY
FROM TABLE1
GROUP BY DATE, PRODUCT_ID
HAVING PRODUCT_ID = '3'
您可以在此处了解更多信息:https://dev.mysql.com/doc/refman/8.0/en/group-by-handling.html