我有下表
| ID | 姓名 |
|---|---|
| 1 | 高拉夫 |
| 1 | 記憶體 |
| 1 | 高拉夫 |
| 1 | 高拉夫 |
如果名稱與 Gaurav 具有相同的值,我想從上表中獲取記錄。例如,一行的名稱為 Ram,所以它不應該回傳任何東西。如果所有值都是 Gaurav,則回傳 id。
uj5u.com熱心網友回復:
在 MySQL 上,您可以使用聚合:
SELECT id
FROM yourTable
GROUP BY id
HAVING SUM(name = 'Gaurav') = COUNT(*);
在所有資料庫上:
SELECT id
FROM yourTable
GROUP BY id
HAVING COUNT(CASE WHEN name = 'Gaurav' THEN 1 END) = COUNT(*);
uj5u.com熱心網友回復:
你也可以試試這個。位硬編碼。您可以使用 0 代替 null 并根據需要洗掉 where 子句。
SELECT Case When Name ='Gaurav' Then ID else NULL END AS ID
FROM Yourtable
where name ='Gaurav'
uj5u.com熱心網友回復:
您可以使用有子句
select `id` from `tablname` group by `name` having count(`name`)>1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/436640.html
標籤:sql
