2016-04-11 14 views
-3

OBJECT、OBJ2、OBJ3という3つの値を持つ1つの列「OBJECT_NAME」を持つテーブル「OBJECTS」があります。テーブルオブジェクトの単一の列の個別値の数を単一の行に表示するSQLクエリ

スナップショットは、次のとおり

OBJECT_NAME 
---------- 
OBJ3 
OBJ1 
OBJ2 
OBJ1 
OBJ1 
OBJ2 

は、以下に示すように出力する形式の異なるオブジェクトの数を最も効率的なSQLクエリを記述する必要があります。パフォーマンスが最適化されていることを確認し、最適化のために何が行われたかを説明します。 P:私はあなたのクエリの例を示した後

OBJ1_Count OBJ2_COUNT OBJ3_COUNT 
--------------------------------- 
3    2   1 
+3

これは実行するタスクです。実際の質問がありますか? –

+1

正しいことを確認してください... – Typo

答えて

0

あなたの宿題マークが私に与えられるべきです。それが役に立てば幸い。

SELECT * 
FROM 
    (SELECT 'OBJ1' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ1' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ2' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ2' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ3' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ2' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ3' AS NM FROM DUAL 
    UNION ALL 
    SELECT 'OBJ3' AS NM FROM DUAL 
) PIVOT (COUNT (NM) FOR NM IN ('OBJ1','OBJ2','OBJ3')); 


---------------------------------OUTPUT-------------------------------------- 

'OBJ1' 'OBJ2' 'OBJ3' 
    2  3  3 

---------------------------------OUTPUT-------------------------------------- 
関連する問題