mysql - 分组/组合行并保存不为空的数据
问题描述
我正在尝试编写一个 SQL 命令,它将下表中的行分组。
+------------+---------+----------+
| DATE | RED | BLUE |
+------------+---------+----------+
| 2018-01-01 | YES | null |
| 2018-06-11 | YES | null |
| 2018-06-11 | null | YES |
+------------+---------+----------+
我试图达到的结果如下:
+------------+---------+----------+
| DATE | RED | BLUE |
+------------+---------+----------+
| 2018-01-01 | YES | null |
| 2018-06-11 | YES | YES |
+------------+---------+----------+
但是,我无法获得将具有相同日期的两行组合/分组并在分组期间覆盖现有 NULL 值的命令。
有任何想法吗?顺便说一句,我正在使用 MySQL。
解决方案
使用group by
已经在评论中说
select DATE,max(RED) as RED,max(BLUE) as BLUE from t1
group by DATE
https://www.db-fiddle.com/f/e7gxBPx5pyAPELqh516Hpn/1
DATE RED BLUE
2018-01-01 YES null
2018-06-11 YES YES
推荐阅读
- java - ElasticSearch search by _source fields
- android - 如何确保在应用程序崩溃时存储日志并允许在颤动中发送给开发人员?
- javascript - 带有事件处理程序的 for 循环
- c# - 将 Label 和 PickerView 放在 TableView 的同一行
- c++ - 有没有优雅的方法在多态 lambda 中编写类型别名
- java - 如何调试 CompletableStage 死锁?
- java - 在java中创建一个交替数组方法,你能告诉我哪里出错了吗?
- python - Python中三角函数的求和
- batch-file - 在批处理脚本中向我的文件名添加零
- jquery - 如何在输入时在 Bootstrap (4) 模态提交中制作只有隐藏输入的表单?