有什麼方法可以找到3個不同列的最大值?我試圖找到記錄有任何3列值超過規定值,並且儘量避免在查詢做出這樣的事:來自3個不同列的Mysql最大值
column1 > 69 or column2 > 69 or column3 > 69
表結構是這樣的:
id | column1 | column2 | column3
1 | 5 | 4 | 3
2 | 70 | 1 | 65
3 | 66 | 3 | 90
而選擇像這樣:
select id from tablex where column1 > 69 or column2 > 69 or column3 > 69
-- but with better query, a bit prettier like this (it doesn't work of course)
select id from tablex where MAX(column1, column2, column3) > 69
* RE:試圖避免做出這樣的事情*爲什麼?它不是非常漫長或神祕。雖然一條襯裏很好,但如果它們都產生相同的結果,性能就更重要。在選擇方法之前,您可能需要檢查查詢計劃。如果他們是相同的(我不知道他們是否是...)選擇一個你喜歡的。否則,我會選擇更高效的語法。 – Leigh
是的,但這仍然是簡單的一次性腳本,將不時使用。更重要的是邏輯結構和可讀性比性能本身;) – J33nn
啊,好吧。我沒有意識到這是一次性的。在這種情況下,我同意業績不那麼重要。如果您有機會查看查詢計劃,請告訴我們;-)如果有任何區別,我會很好奇。 – Leigh