我想要做的是,我需要執行唯一性驗證。但是,我不只是檢查“資料庫中是否已經存在 iggy 這個名稱?” . 我需要檢查一組屬性的唯一性。
這就是我檢查一組屬性的唯一性的意思。假設我需要檢查列/屬性的唯一性:type、partNum和name. 我需要檢查一組type、partNum和name一行是否是唯一的。
- 如果我發現兩行相同但它們不同
type,則它們被認為是唯一的。namepartNum - 如果我發現兩行相同
type但它們具有不同的nameandpartNum,則它們被認為是唯一的。 - 如果我發現兩行具有相同
type的name、 和partNum,則它們不是唯一的。
id type partNum name
-----------------------
1 A partA nameA # assume this exists
2 A partA nameB # unique
3 A partB nameA # unique
4 B partA nameA # unique
5 A partA nameA # NOT unique b/c type, partNum, and name match with 1
什么是比較來自 、 和 列的屬性集的好策略/ typeMySQLpartNum代碼name?
uj5u.com熱心網友回復:
不同的方法:
SELECT DISTINCT
type, partNum, name
FROM mytable;
分組方法:
SELECT type, partNum, name
FROM mytable
GROUP BY type, partNum, name;
GROUP BY使用GROUP_CONCAT方法,如果您想查看id具有相同唯一性的串列:
SELECT GROUP_CONCAT(id) AS ids, type, partNum, name
FROM mytable
GROUP BY type, partNum, name;
小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425387.html
