阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 專技高考_資訊技師:資料結構與資料庫及資料探勘#104174
科目:資料結構與資料庫及資料探勘
年份:110年
排序:0

題組內容

四、根據以下模擬 1922 實名制簡訊關聯資料表架構,寫出不同查詢的 SQL 表示。
 Location (LID, LPID, Lname) // 位置編號,位置上層編號,位置名稱
 Message (MID, phoneNum, LID, Date) // 1922 簡訊
其中 LPID 為 LID 的更上層區域編號,若 LPID 為 0 則無上層區域,如: 某甲單位上層區域為臺北市,系統會有兩筆 Location 資料(10, 1, 甲) , (1, 0, 臺北市)。

申論題內容

(一)查詢所有在 2021/5/10 當天出現在 LID = 10 位置超過兩次以上的電話 號碼。(5 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
要完成這個查詢,我們需要從 Message 表中選取特定日期和位置的數據,並計算每個電話號碼在該位置和日期的出現次數,然後篩選出次數超過兩次的電話號碼。下面是實現這一查詢的 SQL 表達式:
sql
Copy code
SELECT phoneNum
FROM Message
WHERE LID = 10 AND Date = '2021-05-10'
GROUP BY phoneNum
HAVING COUNT(*) > 2;
SQL 查詢說明:
SELECT 子句用來選擇要顯示的欄位,這裡我們只需要 phoneNum。
FROM 子句指定查詢將要從哪個表中獲取數據,這裡是 Message 表。
WHERE 條件用來篩選 LID 為 10 且日期為 '2021-05-10' 的記錄。
GROUP BY 子句將結果集按 phoneNum 分組,以便能對每個電話號碼計數。
HAVING 條件用於篩選那些經過分組後,出現次數超過兩次的組。
這樣的查詢能有效地找出在指定日期和地點發送簡訊次數超過兩次的電話號碼。