我需要帮助进行将日期分组的查询,然后告诉我在那些日期中是否存在具有一种或多种不同颜色的日期,并更改这些日期的列颜色值:
// What I have
DATE | Color
23/01/2019 | BLUE
24/01/2019 | RED
24/01/2019 | RED
24/01/2019 | RED
27/01/2019 | RED
27/01/2019 | GREEN
28/01/2019 | PURPLE
29/01/2019 | YELLOW
02/02/2019 | BROWN
02/02/2019 | BLUE
15/02/2019 | RED
17/02/2019 | RED
17/02/2019 | PURPLE
20/02/2019 | WHITE
23/02/2019 | BLACK
27/02/2019 | CYAN
// Output I need
DATE | Color
23/01/2019 | BLUE
24/01/2019 | RED
27/01/2019 | MULTIPLE
28/01/2019 | PURPLE
29/01/2019 | YELLOW
02/02/2019 | MULTIPLE
15/02/2019 | RED
17/02/2019 | MULTIPLE
20/02/2019 | WHITE
23/02/2019 | BLACK
27/02/2019 | CYAN
我进行了查询,将日期分组,并告诉我每个事件中有多少种颜色,但没有告诉我有多少种
我进行的查询是:
SELECT Date, color, COUNT(*) AS ColorCount
FROM Events
GROUP BY DataDoc
HAVING ColorCount > 0
我正在制作的日历应用需要这个,而我正在使用SQLite
答案 0 :(得分:2)
我会去的:
select date, case when count(distinct color) >1 then 'MULTIPLE' else color end as color
from events
group by date
编辑: 请记住添加DISTINCT,否则一天多次使用相同颜色的颜色将被多次计算
答案 1 :(得分:1)
您可以使用聚合和case
:
SELECT Date,
(CASE WHEN MIN(color) = MAX(color) THEN MIN(color)
ELSE 'MULTIPLE'
END)
FROM Events
GROUP BY Date;
答案 2 :(得分:0)
我不是100%确定这就是您想知道的一切
但没有多少不同
您可以使用“ distinct”参数来解决此问题,如下所示:
选择日期,按日期划分list1
组中的CountColors种颜色
根据手册,这应该适用于SQLite。