如何編寫查詢以確定列值是唯一的?SQL查詢以確定列中的值是唯一的
回答
試試這個:
select case when count(distinct col1)= count(col1)
then 'column values are unique' else 'column values are NOT unique' end
from tbl_name;
如果您認爲沒有值爲NULL,則此方法有效。 – 2014-10-05 12:44:08
您是否試圖僅返回列的不同值?如果是這樣,您可以使用DISTINCT關鍵字。語法是:
SELECT DISTINCT column_name,column_name
FROM table_name;
不是真的回來,只是確定。我也很困惑,但這是被要求的,因此想知道如何編寫這樣的查詢 – JackyBoi 2014-10-05 05:06:55
您可以使用類似: 選擇 列1,列2,COUNT(*) FROM 表 GROUP BY 列1,列2 HAVING COUNT(*)> 1 並且如果返回值有任何值,那麼這些值就是非唯一值。 – 2014-10-05 05:13:21
select count(distinct column_name), count(column_name)
from table_name;
如果唯一值#等於值的總#,那麼所有的值都是唯一的。
+1。我想補充說,這個解決方案不會檢測到重複的NULL值;它只適用於(非'NULL')值。 – stakx 2014-10-05 08:45:25
使用DISTINCT關鍵字COUNT聚合函數內部,如下圖所示:
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name
上面的查詢會給你不同值的數量在該列。
IF NOT EXISTS (
SELECT
column_name
FROM
your_table
GROUP BY
column_name
HAVING
COUNT(*)>1
)
PRINT 'All are unique'
ELSE
PRINT 'Some are not unique'
如果你想列出那些不是唯一的,只需要內部查詢並運行它。 HTH。
如果要檢查所有的值是唯一的和你關心NULL
值,然後做這樣的事情:
select (case when count(distinct column_name) = count(column_name) and
(count(column_name) = count(*) or count(column_name) = count(*) - 1)
then 'All Unique'
else 'Duplicates'
end)
from table t;
有了這個以下查詢,您不僅可以看到您的列是否是唯一的,而且還可以查看哪些組合最不唯一。此外,因爲你仍然看到頻率爲1,你的關鍵是獨特的,你知道你的結果是好的,而不是簡單地失蹤;使用HAVING子句時不太清楚。
SELECT Col1, Col2, COUNT(*) AS Freq
FROM Table
GROUP BY Col1, Col2
ORDER BY Freq DESC
- 1. 確定唯一值的SQL查詢
- 2. SQL查詢優化 - 確定唯一值
- 3. SQL查詢與唯一值列
- 4. 如何確保SQL查詢中的字段是唯一的?
- 5. SQL查詢,以確定是否行組在特定的列具有特定值
- 6. SQL中的唯一列可以是auto_increment
- 7. SQL僅列出子查詢中的唯一值
- 8. SQL查詢其中兩列的組合是唯一的(帶有子查詢)
- 9. SQL唯一查詢
- 10. SQL - 計算查詢產生的列的唯一值
- 11. 查詢或SQL與一個唯一列
- 12. SQL查詢給了我具有唯一列值的記錄數
- 13. 基於2列的SQL查詢唯一值
- 14. 查詢唯一值
- 15. SQL - 如何在查詢中插入子查詢以檢索唯一值
- 16. Oracle SQL;確定值是否唯一或不在組中
- 17. INSERT SELECT查詢時,一列是唯一
- 18. 在Access中的查詢中只顯示唯一值sql
- 19. SQL查詢和計算;正確格式化查詢以選擇唯一ID
- 20. 確保QTableView中列的唯一值
- 21. SQL查詢以確定JSON值是否包含指定的屬性
- 22. 使用SQL查詢,以確定是否一個表存在
- 23. SQL查詢,以確定是否一個表具有比其他
- 24. SQL選擇1列中的唯一值
- 25. 從一列中獲取唯一值的mysql查詢
- 26. 確定列值是否唯一在data.table中
- 27. 如何編寫一個確保兩列獨立唯一的SQL查詢?
- 28. 如何測試檢查值唯一性的java sql查詢
- 29. 用於查找唯一值的SQL查詢
- 30. 確保遞歸查詢的唯一性
您是否試圖確定_all_值是唯一的? – md4 2014-10-05 08:41:26
是的,它是更多或者所有的列都是唯一的或不是 – JackyBoi 2014-10-05 12:02:02
相關,如果不是相同的:http://stackoverflow.com/questions/6941049/how-to-find-out-whether-a-table-has-一些獨特的列 – 2014-10-05 19:58:47