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