簡體   English   中英

使用兩列從表中選擇不同的值

[英]Selecting distinct values from table using two columns

我在表中有以下數據。

Id   Name
1    Abc
2    Abc
3    Xyz
4    Xyz
5    def
6    def

我想要追蹤查詢結果

Id  Name
1   Abc
2   Xyz
3   def

我想避免在名稱欄中重復。

任何幫助是極大的贊賞。

Select distinct 
    id, name 
from table A 

由於ID具有不同的值,因此無法使用。

改為使用分組依據。

select
  min(id), [name]
from
  tableA
group by [name]

請注意,在您的示例中,與Xyz對應的id是3和4,因此只有在破壞表的完整性的情況下,才能在Xyz旁邊添加2。 如果您只是在ID旁邊查找自動編號,則可以執行以下操作:

SELECT row_number() OVER (ORDER BY min(id)) id,
       name 
  FROM tableA
group by name

您可以使用以下方法獲得特定結果:

select row_number() over (order by min(id)) as id, name
from table A
group by name;

重新編號行似乎很奇怪,但是row_number()可以做到這一點。

暫無
暫無

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

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