我想檢查幾列: 對于每一列NULL,所有記錄的值要么相同,要么相同。
例如,下表的條件成立
------ ------ ------ ------
| Col1 | Col2 | Col3 | Col4 |
------ ------ ------ ------
| A | B | NULL | NULL |
| NULL | B | C | NULL |
| A | B | C | NULL |
------ ------ ------ ------
我怎樣才能做到這一點,最好用一個查詢?
編輯:
另一個問題是:如何對每個選定列的不同值求和
uj5u.com熱心網友回復:
您可以檢查每個單獨列中的不同值的數量是否小于或等于 1:
SELECT COUNT(DISTINCT Col1) <= 1 ok1,
COUNT(DISTINCT Col2) <= 1 ok2,
COUNT(DISTINCT Col3) <= 1 ok3,
COUNT(DISTINCT Col4) <= 1 ok4
FROM tablename;
或者,您可以獲得整個表格的結果:
SELECT MAX(
COUNT(DISTINCT Col1),
COUNT(DISTINCT Col2),
COUNT(DISTINCT Col3),
COUNT(DISTINCT Col4)
) <= 1 ok
FROM tablename;
請參閱演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438776.html
上一篇:從PostgreSQL中的字串中回傳除最后一個單詞之外的所有內容
下一篇:加入兩個簡單的SQL查詢
