不同列中的多个计数

问题描述 投票:0回答:1

我有这个小问题,我无法解决。

我有这个疑问:

选择 DATE_FORMAT(fecha, '%M') 作为月份,计数(distinctrow 终端)作为 NT2023 FROM 日记,其中 operacion = 'venta' 且年份(fecha)='2022' GROUP by DATE_FORMAT(fecha, '%m')

我得到 2 列,其中一列是月份,另一列是 2022 年活跃终端数量

我想再获得 2023 年和 2024 年的 2 个专栏,有什么线索吗?

这就是我得到的:

NT2022
二月 5
三月 8
四月 24
五月 29
六月 29
七月 31
八月 36
九月 51
十月 60
十一月 66
十二月 71

这就是我想要得到的:

NT2022 NT2023 NT2024
一月 0 73 158
二月 5 83 161
三月 8 83 168
四月 24 91 170
五月 29 93 173
六月 29 105 180
七月 31 113 183
八月 36 122 189
九月 51 127 193
十月 60 134 201
十一月 66 145 203
十二月 71 152 205
count multiple-columns conditional-formatting
1个回答
0
投票

终于找到方法了,这里是:

        SELECT  DATE_FORMAT(fecha, '%M') as Meses,  
        COUNT(DISTINCT CASE WHEN year(fecha) = '2022' THEN Terminal END) AS Y0,
        COUNT(DISTINCT CASE WHEN year(fecha) = '2023' THEN Terminal END) AS Y1,
        COUNT(DISTINCT CASE WHEN year(fecha) = '2024' THEN Terminal END) AS Y2
        From journal where operacion = 'venta' group by DATE_FORMAT(fecha, '%m') order by month(fecha)
© www.soinside.com 2019 - 2024. All rights reserved.