MySQL 中的分组日期和数据透视表

Group date and Pivot in MySQL

我无法满足我的 SQL 请求。 我想获取每天名为 MONTANT 的列和每个商店的编号的总和。

我的 SQL 请求是:

SELECT DATE AS 'JOUR', "1", "2", "3", "4", "5"

FROM ticket_reglement

UP PIVOT (SUM(MONTANT) FOR NUMERO_CAISSE IN ("1", "2", "3", "4", "5")) AS pvt 

WHERE DATE BETWEEN '2015-12-07' AND '2015-12-13'

从 1 到 5 的数字是我要转换的商店编号。 此请求有效,但 'JOUR' 列(包含日期)每天包含多次。例如:

  JOUR      |  1  |  2  |  3  |
____________|_____|_____|_____|
 07/12/2015 |  5  |  0  |  1  |
 07/12/2015 |  3  |  2  |  0  |
 08/12/2015 |  1  |  0  |  3  |

如何更改获取每天总和的请求? (一天一行)

我也想要 MySQL 的相同请求,但不幸的是 MySQL 不存在 UP PIVOT。我搜索了一些相关问题,但没有找到替代方法的真正答案。

感谢您的帮助。

SELECT *
FROM (
    SELECT [DATE], MONTANT, NUMERO_CAISSE
    FROM dbo.ticket_reglement
) t
PIVOT (
    COUNT(MONTANT)
    FOR NUMERO_CAISSE IN ([1], [2], [3], [4], [5]) 
) p

更新-

SELECT
     `DATE`
    , COUNT(CASE WHEN `NUMERO_CAISSE` = 1 THEN 1 END) AS `1`
    , COUNT(CASE WHEN `NUMERO_CAISSE` = 2 THEN 1 END) AS `2`
    , COUNT(CASE WHEN `NUMERO_CAISSE` = 3 THEN 1 END) AS `3`
    , COUNT(CASE WHEN `NUMERO_CAISSE` = 4 THEN 1 END) AS `4`
    , COUNT(CASE WHEN `NUMERO_CAISSE` = 5 THEN 1 END) AS `5`
FROM ticket_reglement
GROUP BY `DATE`