Re: [SQL ] MySQL請問同時撈出任務基本資訊與執行뀠…

看板Database作者 (Daniel Guo)時間15年前 (2011/02/27 04:22), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
SELECT m.`name`, m.`length`, m.`level`, r.`result`, r.`spend_time` FROM `record` r INNER JOIN (SELECT MAX(ai) AS `ai` FROM `record` r WHERE r.`result` = 1 GROUP BY r.`m_id`) r1 ON r.`ai` = r1.`ai` INNER JOIN `mission` m ON r.`m_id` = m.`id` 索引記得建 (id, m_id, result 等) 取第一個可以, 如果要取前 n 個的話就很麻煩, 參考: http://goo.gl/nQtDW ※ 引述《jiyon (愛)》之銘言: : 資料庫版本 MySQL 5.1 : 說明:假設賽車遊戲中各個賽道的基本資訊存在「任務」表格 : ,而每次跑某一個賽道的記錄存在「記錄」表格,如下表所示: : mission(任務) record(記錄) : -------------------------------- ---------------------------------------- : ai id(PK) name length level ai id(PK) m_id(FK) result spend_time : 賽道名 距離 難度 結果名次 花費時間 : -------------------------------- ---------------------------------------- : 其中ai是AUTO_INCREMENT欄位、id是UUID()產生的主鍵欄位 : record.m_id是參照到mission.id的外來鍵 : result是INT型態,表示第幾名 : 每筆記錄只會對應到一個任務,而一個任務會有多個跑的記錄,也可能沒有(還沒跑) : 測試資料如下:(id部份有簡化) : mission(任務) : -------------------------------- : ai id(PK) name length level : 1 d482 鈴鹿賽道 28 2 : 2 d6b0 筑波賽道 36 4 : 3 d7a1 茂木賽道 20 1 : -------------------------------- : record(記錄) : ---------------------------------------- : ai id(PK) m_id(FK) result spend_time : 1 7d24 d482 1 00:04:57 (對應到鈴鹿賽道) : 2 7dfa d7a1 8 00:10:23 (對應到茂木賽道) : 3 51d8 d482 12 00:12:28 (對應到鈴鹿賽道) : 4 17d3 d7a1 1 00:06:11 (對應到茂木賽道) : 5 5755 d7a1 1 00:05:59 (對應到茂木賽道) : ---------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 71.93.105.54 ※ 編輯: danielguo 來自: 71.93.105.54 (02/27 04:25)

02/27 15:46, , 1F
感謝。我想大概能抓到要領了,還有提供的網頁說明很詳細
02/27 15:46, 1F
文章代碼(AID): #1DQM4DfH (Database)
文章代碼(AID): #1DQM4DfH (Database)