我有類似于以下的表:
data1 | data2 | data3 | data4 | important data
______________________________________________
res1 | res1 | res1 | res1 | NULL
res2 | res2 | res2 | res2 | NULL
res2 | res2 | res2 | res2 | wow
res3 | res3 | res3 | res3 | NULL
res4 | res4 | res4 | res4 | wow
我希望它回傳如下內容:
data1 | data2 | data3 | data4 | important data
______________________________________________
res1 | res1 | res1 | res1 | NULL
res2 | res2 | res2 | res2 | wow
res3 | res3 | res3 | res3 | NULL
res4 | res4 | res4 | res4 | wow
所以選擇 distinct(data1, data2, data3, data4) 但如果 NULL 和 wow 都存在這樣的四元組,請始終選擇 wow。有沒有辦法指定 DISTINCT 消除哪些行?
uj5u.com熱心網友回復:
您可以在此處使用max()(或min())聚合,因為NULLs 不大于、不等于、也不小于任何其他值。
SELECT data1,
data2,
data3,
data4,
max(importantdata) AS importantdata
FROM elbat
GROUP BY data1,
data2,
data3,
data4;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/411043.html
標籤:
上一篇:洗掉命令會洗掉乍一看不應該的行
下一篇:加權平均將資料組合成一行
