阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 一般警察特種考試_三等_警察資訊管理人員:資料庫應用#101699
科目:公職◆資料庫應用
年份:110年
排序:0

題組內容

四、假設現有如下個人實聯制登記紀錄的關連式資料庫,請使用SQL 回答相關的子問題。
 Place(placeID, placeName, countyCity, district, address)PK:placeID
 Person(mobile, name, telecomProvider)PK:(mobile)
 EnterRecord(placeID, mobile, date, time
 PK:(placeID, mobile, date, time)
 FK:placeID ref. Place(placeID)
FK:mobile ref. Person(mobile)

申論題內容

(二)請依 countyCity、district,分群顯示該行政區內,2021/05/11~2021/05/31 間, 所有公共場所進出人數的總和,結果需依進出人次多至少作排列。 (5 分)

詳解 (共 2 筆)

詳解 提供者:邊工作邊唸書
SELECT COUNT(*) FROM Place PL,Person P,
EnterRecord ER WHERE PL.placeID=ER.placeID
AND P.mobile=ER.mobile AND ER.date BETWEEN ‘20210511’ AND ‘20210531’ 
GROUP BY P.countyCity,P.district 
Order BY COUNT(*) DESC;
詳解 提供者:hchungw
SELECT 
    p.countyCity,
    p.district,
    COUNT(e.mobile) AS total_visits
FROM 
    EnterRecord e
JOIN 
    Place p ON e.placeID = p.placeID
WHERE 
    e.date BETWEEN '2021-05-11' AND '2021-05-31'
GROUP BY 
    p.countyCity, 
    p.district
ORDER BY 
    total_visits DESC;
這個查詢語句的解釋如下:
JOIN 子句:將 EnterRecord 表和 Place 表根據 placeID 進行連接,以便獲取 countyCity 和 district 的資訊。
WHERE 子句:篩選 EnterRecord 表中的記錄,日期在 2021/05/11 到 2021/05/31 之間。
GROUP BY 子句:根據 countyCity 和 district 進行分組,以便計算每個行政區內的進出人數總和。
SELECT 子句:選擇 countyCity、district 和每組中的進出人數總和(使用 COUNT(e.mobile))。
ORDER BY 子句:按進出人次的總和降序排列結果。