Czy istnieje sposób na znalezienie maksymalnej wartości 3 różnych kolumn? Próbuję znaleźć rekordy z żadnym z 3 kolumny wartości wyższej niż określona wartość i stara się uniknąć czegoś takiego w zapytaniu:Wartość maksymalna Mysql z 3 różnych kolumn
column1 > 69 or column2 > 69 or column3 > 69
struktura tabeli jest tak:
id | column1 | column2 | column3
1 | 5 | 4 | 3
2 | 70 | 1 | 65
3 | 66 | 3 | 90
i wybierz tak:
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: Próbujesz uniknąć czegoś takiego * Dlaczego? Nie jest ekstremalnie długa ani tajemnicza. Podczas, gdy jedna wkładka jest przyjemna, jeśli oba dają taki sam wynik, ważniejsza jest wydajność. Możesz rozważyć plany kwerend, zanim wybierzesz podejście. Jeśli są takie same (nie wiem, czy są, czy nie) wybierz tę, którą preferujesz. W przeciwnym razie pójdę z wydajniejszą składnią. – Leigh
Tak, ale nadal jest to prosty skrypt, który będzie używany od czasu do czasu. Ważniejsza jest struktura logiczna i czytelność niż sama wydajność;) – J33nn
Ah, okay. Nie zdawałem sobie sprawy, że to był jednorazowy. W takim przypadku zgadzam się, że wydajność jest mniej krytyczna. Jeśli masz szansę spojrzeć na plany zapytań, daj nam znać ;-) Byłbym ciekawy, czy jest jakakolwiek różnica. – Leigh