我正在尝试编写一个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。
答案 0 :(得分:1)
根据您的要求,我想您可以尝试以下操作:
select A.Xdate,max(Red) as C2 ,max(Blue) as C3 from test A
group by A.XDate;
答案 1 :(得分:1)
使用评论中已经说过的for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
}
}
for(int i ,j= 0; i < 10; (j>9) ? (i++,j=0) : 0 ,j++)
{
printf("%d %d\n",i,j);
}
https://www.db-fiddle.com/f/e7gxBPx5pyAPELqh516Hpn/1
group by