0
我正在處理一個包含過期日期的項目表,這些項目被分配給用戶。MySql - 從案例中排除默認的最大日期
我想爲每個用戶,最高到期date.The 問題這裏要說的是,如果其他項目存在該用戶的默認項與應忽視的「3000/01/01」有效期初始化。
我有一個查詢這樣做:
SELECT user_id as UserId, CASE WHEN (YEAR(MAX(date_expiration)) = 3000) THEN ( SELECT MAX(temp.date_expiration) FROM user_items temp WHERE YEAR(temp.date_expiration) <> 3000 and temp.user_id = UserId ) ELSE MAX(date_expiration) END as date_expiration FROM user_items GROUP BY user_id
這工作,但在查詢的THEN塊查殺性能一點,這是一個巨大的表。
那麼,在輸入CASE條件時,有沒有更好的方法可以忽略來自MAX操作的默認日期?
偉大的perforamance提升! –