C'è un modo per trovare il valore massimo di 3 colonne diverse? Sto cercando di trovare i record con una qualsiasi delle 3 colonne valore superiore al valore specificato e cercando di evitare di fare qualcosa di simile in query:Valore massimo Mysql da 3 diverse colonne
column1 > 69 or column2 > 69 or column3 > 69
Struttura della tabella è come questo:
id | column1 | column2 | column3
1 | 5 | 4 | 3
2 | 70 | 1 | 65
3 | 66 | 3 | 90
e selezionare in questo modo:
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: cercando di evitare di fare qualcosa del genere * Perché? Non è estremamente lungo o criptico. Mentre un liner è bello, se entrambi producono lo stesso risultato, le prestazioni sono più importanti. Potresti esaminare i piani di query prima di scegliere un approccio. Se sono uguali (non so se lo siano o no ..) scegli quello che preferisci. Altrimenti, sceglierei la sintassi più efficiente. – Leigh
Sì, ma ancora questo è semplice script una volta che verrà utilizzato di volta in volta. Più importante è la struttura logica e la leggibilità rispetto alle prestazioni stesse;) – J33nn
Ah, ok. Non avevo capito che era un pezzo unico. In tal caso sono d'accordo che le prestazioni sono meno critiche. Se hai la possibilità di guardare i piani di query, faccelo sapere ;-) Sarei curioso di sapere se c'è qualche differenza. – Leigh