簡體   English   中英

SQL 從同一表中的一組值中選擇不同的值

[英]SQL selecting distinct values from set of values in the same table

我的查詢結果如下表:

value1     name  
------     ------
 abc       JOHN
 def       JOHN
 mno       JOHN
 mno       JOHN
 abc       JAMES
 abc       JAMES
 def       JAMES
 mno       RICK

在上表中,值 mno 對JOHN重復兩次,值abcJAMES重復兩次。

我使用的查詢在這里:

SELECT tc.value, tr.name
  FROM table1 tc, table2 tr
 WHERE tc.id = tr.roll
 ORDER BY tr.name;

我希望得到的結果是必須從每個名稱中刪除重復值。 結果應該是這樣的:

value1   name
------  ------
 abc     JOHN
 def     JOHN
 mno     JOHN
 abc     JAMES
 def     JAMES
 mno     RICK

我只想從每個名稱中刪除重復值。 我怎樣才能做到這一點?

嘗試如下所示的不同,也請使用如圖所示的標准連接。

SELECT DISTINCT tc.value, tr.name 
FROM table1 tc 
INNER JOIN table2 tr 
ON tc.id = tr.roll 
ORDER BY tr.name;

您可以使用已標記的DISTINCT關鍵字:

SELECT DISTINCT t1.value, t2.name
  FROM table1 t1
  JOIN table2 t2
    ON t1.id = t2.roll
 ORDER BY t2.name;

GROUP BY t1.value, t2.name子句,或者:

SELECT t1.value, t2.name
  FROM table1 t1
  JOIN table2 t2
    ON t1.id = t2.roll
 GROUP BY t1.value, t2.name   
 ORDER BY t2.name; 

暫無
暫無

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

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