2011-06-21 70 views
1

SQL中是否有可能僅在結果中顯示重複記錄一次。SQL在結果集中只顯示一次重複記錄

所以不是這個

  [email protected] | Some Unique Data | Unique Data 

     [email protected] | Some Unique Data | Unique Data 

     [email protected] | Some Unique Data | Unique Data 

     [email protected] | Some Unique Data | Unique Data 

我會得到這個

  [email protected] | Some Unique Data | Unique Data 

         | Some Unique Data | Unique Data 

         | Some Unique Data | Unique Data 
+5

通常,這將是你的應用程序做一些事情代碼而不是查詢。 – JohnFx

+0

不,這通常不是在SQL中完成的。您可以採用原始查詢結果並將其格式化,然後將其呈現給客戶端。 – Asaph

回答

8

你不應該使用SQL執行表象任務。任何解決這個問題的方法都會很棘手,需要使用遊標/其他迭代方法。

幾乎每個報表創作工具都有一種方法來隱藏重複項。

1

只需你可以做到這一點 -

有這麼多的選項,或回答可用於此。這些 一個是follow--

select 
case 
when b.c_1 = 1 then 
b.col1 
else 
null 
end col1, 
b.col2 col2, 
b.col3 col3 
from 
(
select distinct col1,col2,col3, rownum() over(partition by col1) c_1 from table_name 
)b 

現在假設/修改上面的查詢 -

table_name是表名 COL1,COL2和COL3是你的表的列名。

只需修改此查詢按你的表名和結構,看看..

這將是你所需要的解決方案。

0

我知道這是一個老問題,但認爲這可能對其他人有用。經過一段時間的研究之後,有一個名爲DISTINCT的關鍵字,它只會在查詢中顯示重複值一次。我使用的是查詢的網頁上的文本框自動提示值,並沒有想讓它顯示重複的名稱,這爲我工作:

SELECT DISTINCT FIRSTNAME 
    FROM TBLSTUDENTS 
    WHERE FIRSTNAME LIKE '#ucase(arguments.search)#%'