簡體   English   中英

從數據庫中選擇唯一記錄

[英]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

有關演示,請參見http://sqlfiddle.com/#!2/97145/62

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM