[英]Selecting unique records from database
運行此查詢,
select * from table;
返回以下內容
|branch | number |
-------------------
| 1 | 123 |
| 1 | 001 |
| 2 | 123 |
| 3 | 123 |
| 4 | 123 |
| 1 | 123 |
| 1 | 789 |
| 2 | 123 |
| 3 | 123 |
| 4 | 009 |
我想找到唯一分支1唯一的值
| 1 | 001 |
| 1 | 789 |
可以在不將數據存儲在單獨的表中的情況下完成此操作嗎? 我嘗試了一些“選擇不同的”查詢,但似乎沒有得到我期望的結果。
SELECT branch, number
FROM table
WHERE branch = 1
GROUP BY branch, number
如果不需要任何聚合,則可以使用distinct
而不是group by
:
select distinct branch
, number
from YourTable
where branch = 1
我想我想說的是,我想查找所有僅ONLY分支1唯一的數字。如果在其他任何分支中都找到了它們,那么我就不想看到它們。
我想這就是你想要的。
SELECT distinct number
FROM MyTable
WHERE branch=1 and number not in
( SELECT distinct number
FROM MyTable
WHERE branch != 1 )
嘗試這個:
SELECT branch, number
FROM table
GROUP BY branch, number
這是一個SQLFiddle供您查看
如果要將其限制為僅分支1,則只需添加where子句。
SELECT branch, number
FROM table
WHERE branch = 1
GROUP BY branch, number
要選擇列number
中唯一且branch
值為1的所有值,可以使用以下代碼:
SELECT branch, number
FROM table1
WHERE number IN (
SELECT number
FROM table1
GROUP BY number
HAVING (COUNT(number ) = 1)
)
AND branch = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.