2016-10-07 15 views
0

私が手にしている課題は、「各支店の各画面にスケジュールされたセッション数を見つけるためのSQL文を書くことです」画面の詳細(支店と画面のID)セッション数。branchidとセッション数でマルチレベルソートを実行します。複数レベルの並べ替えと詳細の表示

SELECT SCREENID, BRANCHID 
FROM SCREEN NATURAL JOIN SESSIONS; 

テーブルSCREEN:

--------------------------------------- 
ScreenID | BranchID | Screencapacity 
--------------------------------------- 
S1  | B1  | 120 
S1  | B2  | 185 
S2  | B1  | 230 
S2  | B4  | 165 
S2  | B3  | 185 
S1  | B3  | 210 
S2  | B4  | 170 
S2  | B1  | 150 
S3  | B2  | 135 
S1  | B4  | 128 
--------------------------------------- 

表のSESSION:

+-----------+----------+----------+---------+-------------+--------------+ 
| SESSIONID | BRANCHID | SCREENID | MOVIEID | SESSIONDATE | SESSIONPRICE | 
+-----------+----------+----------+---------+-------------+--------------+ 
| SS01  | B1  | S1  | M1  | 03-MAY-16 |   12.5 | 
| SS03  | B1  | S2  | M2  | 03-MAY-16 |  12.67 | 
| SS09  | B2  | S3  | M4  | 13-MAY-16 |   17.9 | 
| SS04  | B4  | S2  | M4  | 13-MAY-16 |  14.56 | 
| SS07  | B4  | S2  | M3  | 14-MAY-16 |  21.78 | 
| SS05  | B3  | S2  | M5  | 23-MAY-16 |  14.56 | 
| SS06  | B3  | S1  | M5  | 03-JUN-16 |  16.32 | 
| SS02  | B2  | S1  | M2  | 04-JUN-16 |  19.45 | 
| SS10  | B4  | S1  | M3  | 06-JUN-16 |  16.37 | 
| SS08  | B1  | S2  | M2  | 06-JUN-16 |  16.82 | 
+-----------+----------+----------+---------+-------------+--------------+ 

私は完全に失われていますし、この問題

+0

質問にデータを追加してイメージを使用しないでください。 – Linkan

+0

心配する必要はありません、私は今それをします – Dan

+0

それに応じて更新されました。 – Dan

答えて

1
select screenid, branchid, count(1) as no_of_sessions 
from screen A 
    join session B 
     on B.screenid = A.screenid 
     and B.branchid = A.branchid 
group by screenid, branchid 
order by branchid, no_of_sessions 
; 
に開始する場所を確認していません

まず、screenidbranchidの2つのテーブルを結合します。次に、結合されたデータをグループに集約し(group by)、screenidbranchidとし、各グループの行数を単純に数えます(count(1))。次に、結果をbranchidとグループ内のセッション数(no_of_sessions)で注文します。

お楽しみください!

関連する問題