2017-11-25 111 views
-4

我有一個像下面選擇只有一半的記錄通過名稱

名稱 一個 一個 乙 乙 Ç Ç Ç Ç Ç Ç d d d 表D

我需要拿出如下

名稱 一個 乙 Ç Ç Ç d d

+0

請說明您的具體問題或添加額外的細節,突顯正是你需要的。正如目前所寫,很難確切地說出你在問什麼。請參閱如何提問頁面(https://stackoverflow.com/help/how-to-ask)以獲取幫助以澄清此問題。 –

+0

我需要出從表格中把基於name..if名稱這是一個如表2點的時候,我需要證明1時相同的方式,如果名稱C有6次,我需要表現出3倍 – Suraj

+2

@FatemehAbdollahei - 如果你知道問題是題外話,因爲如果這個問題被關閉,然後你的編輯被批准(按順序),請不要對其進行編輯,這個問題將進入審批隊列中重新打開。 [您編輯](https://stackoverflow.com/review/suggested-edits/18059157)不停止的問題是題外話;你最好別管它。 –

回答

1

您可以使用row_numbercount窗函數來獲得一個正在運行的數量和每個值,分別總計數,然後對它們進行比較:

SELECT value 
FROM (SELECT value, 
       COUNT(*) OVER (PARTITION BY vale) AS cnt, 
       ROW_NUMBER() OVER (PARTITION BY value) AS rn 
     FROM mytable) t 
WHERE rn <= (cnt/2) 
相關問題