簡體   English   中英

選擇多個列時,不同的關鍵字不起作用

[英]Distinct keyword not working while selecting multiple columns

我有這樣的查詢:

select distinct po_no, rescan_status 
from T_PoHeader 
order by po_no

我的輸出是這樣的:

po_no   rescan_status
---------------------
P-01    True
P-02    True
p-03    False
p-04    False
p-04    True

如果我使用distinct關鍵字,我的po_no將顯示重復項。 我只想顯示不同的po_no

distinct關鍵字適用於您選擇的所有列。 由於您選擇了“ rescan_status ”,對於相同的“ po_no ”,該行具有true的一行和false的一行 ,因此有兩個“ distinct”組合。

刪除“ rescan_status ”僅獲得不同的“ po_no ”。

您的結果對我來說很好。 我沒有看到任何重復的行。

可能是您希望po_no在每一行上都是唯一的。 如果是這樣,請使用聚合和聚合函數:

select po_no, max(rescan_status) as rescan_status
from T_PoHeader 
group by po_no
order by po_no;
;with cte(po_no,rescan_status)
AS
(
SELECT 'P-01','True'  UNION ALL
SELECT 'P-02','True'  UNION ALL
SELECT 'p-03','False' UNION ALL
SELECT 'p-04','False' UNION ALL
SELECT 'p-04','True'
)
SELECT po_no,rescan_status From
(
select po_no,rescan_status ,ROW_NUMBER()OVER(Partition By po_no order by po_no) Seq from cte
)Dt
where Dt.Seq=1

暫無
暫無

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

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