我試圖運行一個SQL查詢,它將始終返回2行或3行;當3返回時,得到這樣排序:team1,draw,team2有關選擇特定順序3行的SQL幫助
所以基本上如果「繪製」是在列表中,那麼它應該總是放在其他兩行之間,無論它們是什麼,假設名稱球隊的並繪製在列「稱號」
我已經試過CASE WHEN title = 'draw' THEN 1
訂購,也試過FIELD()
- 沒有運氣:(
誰能幫
謝謝
我試圖運行一個SQL查詢,它將始終返回2行或3行;當3返回時,得到這樣排序:team1,draw,team2有關選擇特定順序3行的SQL幫助
所以基本上如果「繪製」是在列表中,那麼它應該總是放在其他兩行之間,無論它們是什麼,假設名稱球隊的並繪製在列「稱號」
我已經試過CASE WHEN title = 'draw' THEN 1
訂購,也試過FIELD()
- 沒有運氣:(
誰能幫
謝謝
試試?! THI s:
ORDER BY (IF(title='team1', 1, IF(title='team2', 3, 2)))
太好了。非常感謝!這做到了。 –
團隊與結果不同。我相信你不應該解決你的問題。相反,創建三個表格:團隊,結果和結果類型。在ResultTypes中存儲兩個團隊之間的任何可能的結果。在團隊中,存儲團隊,他們的名字和任何相關數據給他們。最後,在結果存儲3個外鍵。其中兩個應參考團隊表,一個參考ResultTypes表。這樣你就不會遇到從數據庫中選擇數據的問題。
該表實際上被稱爲「投注」,對於每個事件,我們可以有多達約10000個。可以爲team1,draw,team2打賭,然後進行其他各種事情,比如正確的分數1-0,目標數量等等。該表有一個ID字段,另一個用於標題(下注),另一個用於賠率等等。 –
請說明您的餐桌外觀和最佳效果。 – sashkello
我認爲這是一個糟糕的表結構的症狀。你可以添加你正在'SELECT'的表的DDL嗎?我認爲你需要更好地規範化,但是我們需要看到這個定義。 –
它應該只需要一個'ORDER BY'和'CASE'表達式。修改你的問題,並顯示你到目前爲止的查詢,我相信它可以很容易地回答 – BellevueBob