我有以下三個表(簡本):SQL很難查詢:其他事件之間的事件
levelsloaded:
- ID(智力,主鍵,自動遞增)
- globalId(智力,密鑰)
- 日期(日期時間,密鑰)
- SERVERID(智力,密鑰)
- gamemodeId(智力,關鍵)
- 的azazaz(智力,密鑰)
playerjoins:
- ID(智力,主鍵,自動遞增)
- globalId(智力,密鑰)
- 日期(日期時間,密鑰)
- SERVERID(智力,密鑰)
- playerId(智力,密鑰)
playerleaves:
- ID(智力,主鍵,自動遞增)
- globalId(智力,密鑰)
- 日期(日期時間,密鑰)
- SERVERID(智力,關鍵)
- playerId(Int,Key)
我已經想了幾個小時關於這個查詢已經,但我似乎無法弄清楚。我想要這個:從玩家在服務器上玩的時刻開始加載關卡時,選擇水平加載的所有行。
我試圖完善「問題」,但那會使它不清楚。
一個例子圖片瀏覽:
你看到各種級別加載事件:
- 上
16:22:57
的一個希望,因爲它我加入了服務器後發生的(和在我離開服務器之前) 15:51:29
和15:37:10
應該不會發生,因爲我沒有在服務器上玩。
我知道這個查詢肯定可能,但我不認爲這是一個微不足道的查詢。
任何幫助,將不勝感激。另外建議來解決它我自己非常感謝。
編輯:我已經成功地細化查詢一點點。獲得解決方案的第一步是:創建一個子查詢,獲取玩家加入和玩家之間的每個級別加載離開,只有如何獲得?考慮事件下表:
- 圖1個負載
- 玩家A加入
- 圖2個負荷
- 圖3個負荷
- 玩家A離開
- 圖4個負載
- 球員A加入
- 圖5個負荷
- 圖6級的負載
- 玩家A離開
- 地圖7個負載
- 地圖8個負載
那麼唯一正確的結果將是:圖2,圖3,圖5和6,所以 我需要通過結果集遍歷並獲得所有在玩家加入和下一個玩家離開之間發生的地圖,然後跳轉到下一行。
圖片?這不是我們滾動的方式。而武器不是一個詞。 – Strawberry
@Strawberry嗯,我認爲一張圖片更好,因爲沒有圖片... – skiwi