2016-05-12 9 views
0

私はキャストを試しましたが、オーバーパーティションではコードがコメントアウトされています。私は[DESC]列を最初に最も多くカウントするようにしたいと考えています。最高の頻度から最低の列を注文しようとしています

+0

あなたは、いくつかのサンプルデータと予想される出力を追加する必要があります。人々はあなたのスキーマを知らないので、その質問が何であるかはあまり明確ではありません。 –

答えて

0

ORDER BY [DESC] desc、CASE_NUM descなどを使用して、必要な各注文句に使用します。

+0

これは、descカラムをグループ化しますが、最初に最も高いカウントで順序付けしません。 – Chris

0

これを試してみてください:

SELECT CASE_NUM , 
     LAST_NAME , 
     FIRST_NAME , 
     UNIT_ID , 
     REF_SOURCE_ID , 
     [DESC] 
FROM (SELECT CASE_NUM , 
        COUNT(CASE_NUM) AS CASE_NUM_Count , 
        LAST_NAME , 
        COUNT(LAST_NAME) AS LAST_NAME_Count , 
        FIRST_NAME , 
        COUNT(FIRST_NAME) AS FIRST_NAME_Count , 
        UNIT_ID , 
        COUNT(UNIT_ID) AS UNIT_ID_Count , 
        REF_SOURCE_ID , 
        COUNT(REF_SOURCE_ID) AS REF_SOURCE_ID_Count , 
        [DESC] , 
        COUNT([DESC]) AS DESC_Count 
--INTO #REF 
      FROM  CDCLIENT 
        INNER JOIN CDTBL1 ON CDCLIENT.REF_SOURCE_ID = CDTBL1.ID 
        INNER JOIN CDCLSVC ON CDCLSVC.CLIENT_ID = CDCLIENT.ID 
      WHERE  TYPE = 'REF' 
      GROUP BY CASE_NUM , 
        LAST_NAME , 
        FIRST_NAME , 
        UNIT_ID , 
        REF_SOURCE_ID , 
        [DESC] 
     ) AS InnerLoop 
ORDER BY InnerLoop.DESC_Count , 
     InnerLoop.CASE_NUM_Count , 
     InnerLoop.LAST_NAME_Count , 
     InnerLoop.FIRST_NAME_Count , 
     InnerLoop.UNIT_ID_Count , 
     InnerLoop.REF_SOURCE_ID_Count DESC; 
+0

これを試しました。最も高い値から最も低い値までのカウント数(出現数)の多い[desc]列は、順序付けされません。たとえば、[desc]が病院の名前である場合は、最も発生するものによって列が順序付けされることを望みます。 – Chris

+0

私はちょうど 'DESC'列が最初にソートされるように、列の順序を変更しました。 – Mondello

関連する問題