如何在范围日期之间显示数据

时间:2017-08-17 02:56:06

标签: mysql

我有以下数据:

entry   storenum    busidate    daily_budget
1       1           2017-07-01  4000
2       1           2017-07-02  1000
3       1           2017-07-03  6000
4       1           2017-07-04  7000
5       1           2017-07-05  12000

我需要显示日期范围之间的所有数据。

我试图在范围日期之间显示所有数据。这是我目前的查询:

SELECT
(CASE WHEN a.busidate BETWEEN '2017-07-01' AND '2017-07-05' THEN a.daily_budget ELSE 0 END) as Ideal,
b.store_name, b.storenum
FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum
WHERE b.storenum='1'
GROUP BY a.storenum

以上查询仅向我提供2017-07-01的结果,而不是2017-07-012017-07-05之间的数据。以下是我的查询结果示例:

Ideal       store_name          storenum
4000        Sunway Putra Mall   1

我需要显示日期范围之间的所有数据。

2 个答案:

答案 0 :(得分:0)

感谢@Sumon Sarker作为你的Sugggestion。你的建议是完全正确的 这是显示日期之间所有行的答案

SELECT
a.daily_budget as Ideal,
b.store_name, b.storenum
FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum
WHERE b.storenum='1' and a.busidate BETWEEN '2017-07-01' AND '2017-07-05'
GROUP BY a.busidate

答案 1 :(得分:0)

罪魁祸首可能是“GROUP BY”

尝试以下查询

 SELECT
    b.storenum,
    b.store_name,
    (CASE 
       WHEN a.busidate BETWEEN '2017-07-01' AND '2017-07-05' 
       THEN a.daily_budget ELSE 0 END
    ) AS Ideal 
  FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum
  WHERE b.storenum=1
  GROUP BY b.storenum,b.store_name, Ideal