2015-10-08 76 views
0

我有一組SQL存儲過程使用分區來獲得百分位數。通過做下面的分區,我能夠得到我的百分點數據。然而我的問題是每行都有重複。例如,假設每個DESC只有1行,則有多個副本。這是爲什麼?如何在重複行的情況下執行多列分區?

row_nums AS 
    (
     SELECT DATE, DESC, NUM, ROW_NUMBER() OVER (PARTITION BY DATE, DESC ORDER BY NUM ASC) AS Row_Num 
     FROM ****** 
    ) 
SELECT ................. 

這是輸出我得到當前:(哪裏有返回重複行 - 請參閱行6〜8) http://i.stack.imgur.com/foe7g.png[ ^]

這是我想達到的輸出:http://i.stack.imgur.com/GkrHP.png[^

;WTIH row_nums AS 
    (
     SELECT DATE, DESC, NUM, ROW_NUMBER() OVER (PARTITION BY DATE, DESC ORDER BY NUM ASC) AS Row_Num 
     FROM (
      SELECT your required columns, COUNT(duplicated_rows_columnsname) 
      FROM *** 
      GROUP BY columnnames 
      HAVING COUNT(duplicated_rows_columnsname) = 1 
     ) 
    ) 
SELECT ................. 

:]

+0

能否提供樣本數據作爲您的語法看起來很好,除了那個日期,描述 – mohan111

+0

不知道您的數據。也許這和'SELECT DISTINCT ...'一樣簡單? – Shnugo

+0

更新了示例數據,謝謝 –

回答

0

您可以通過增加一個內部查詢FROM子句中像下面刪除重複但是,您也可以使用INNER中的DISTINCT子句刪除重複的行。查詢。

+0

你好,不工作。語法錯誤 –

相關問題