首页 > 解决方案 > 如何同时查询多个范围内的数据及其计数

问题描述

我有一张如下表,

ID 数字 日期
1 23 2020-01-01
2 12 2020-03-02
3 23 2020-09-02
4 11 2019-03-04
5 12 2019-03-23
6 23 2019-04-12

我想知道的是每个数字每年出现多少次,例如,

数字 2019 2020
23 1 2
12 1 1
11 1 0

我有点卡住了..尝试使用左连接或仅选择一次,但仍然无法弄清楚如何制作,请帮助谢谢!

标签: sql

解决方案


SELECT C.NUMBER,
SUM
(
   CASE 
    WHEN C.DATE BETWEEN '20190101'AND '20191231' 
      THEN 1 ELSE NULL 
   END
) AS A_2019,
SUM
(
  CASE 
    WHEN C.DATE BETWEEN '20200101'AND '20201231' 
    THEN 1 ELSE NULL 
  END
) AS A_2020
FROM I_have_a_table_like_below AS C
GROUP BY C.NUMBER

推荐阅读