android - 满足条件时更改列的值
问题描述
我需要帮助来进行对日期进行分组的查询,然后告诉我在这些日期中是否有具有一种或多种不同颜色的日期,并更改这些日期的列颜色值:
// 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
解决方案
我会这样做:
select date, case when count(distinct color) >1 then 'MULTIPLE' else color end as color
from events
group by date
编辑:记得添加 DISTINCT 或多次使用相同颜色的一天将被计算多次
推荐阅读
- angular - QuillJS 颜色选择器将内联样式更改为类
- shell - 为什么 zsh 无法从脚本中的路径读取 ~(波浪号)?
- jquery - 不使用正则表达式的 JQuery 中的电子邮件验证?
- spring-boot - Spring Boot @Around 不适用于 javax.jms.MessageListsner.onMessage()
- clojure - 初学者的 clojure 尝试 hackkerrank 问题超时
- react-hooks - 如何使用反应挂钩仅更新选定的组件
- python - 为数据框中每个组的列设置计算值
- javascript - 如何在内存中下载文件,然后将其上传到其他地方
- node.js - 通过 mongoose 与 mongo 的 ssh 连接的 tunnel-ssh npm 问题
- java - 编写返回常量值的 Java 8 map 语句的最佳方法