我有一個用戶獎勵表,它可以是各種不同的類型。SQL或子句優先級
例如,這裏有資質ID 94的記錄:
因此,大家可以看到,有2個用戶,一個有記錄的獎勵類型的「平均」,「分鐘「,」最大「和」最終「,另一個具有相同但沒有」最終「獎。
我想要的是每個用戶只得到1行。如果他們有「最終」類型的獎項,那麼我想要的是「平均」,我根本不需要「最小」或「最大」。
因此,作爲一個例子,這裏只是一個簡單的查詢IN子句:
所以此基礎上,我想要得到的結果是爲用戶34562我想要的行獲得「最終」獎項,對於用戶6256,我希望該行獲得「平均」獎,因爲他們沒有「最終」記錄。
我相信這應該是相當簡單的,但我今天早上悲慘地失敗。
我想我應該可以選擇最終的記錄,然後做一個聯盟,但我似乎無法在我的腦海中解決它。任何人都可以將我指向正確的方向嗎?
我應該指出,雖然這對我來說是MySQL,但它需要與其他數據庫平臺兼容。
謝謝。
做一個GROUP BY,用例表達式來做條件聚合。 – jarlh
你能否快速測試我的查詢來查看它是否有效。如果沒有,我會刪除它。 –