我有以下SQL查询:
SELECT * FROM my_table GROUP BY B,D,F;
如果某些行B
为空并且D
为空且F
为空,则会将其分组为一行,其中所有三列均为空。< / p>
但我想要:如果一行的所有三列(B,D,F)都是空的,请不要将此行分组显示。
意思是:如果我有以下内容:
结果应为:
我该怎么做?
答案 0 :(得分:2)
首先,您正在选择* with group by !!不确定这是否适合你。
无论如何,为了达到你想要的目的,试试这个
SELECT B,D,F
FROM your_table
WHERE NOT (B='' AND D='' AND F='')
GROUP BY B,D,F
UNION ALL
SELECT B,D,F
FROM your_table
WHERE B='' AND D='' AND F=''