non è possibile utilizzare la funzione di aggregazione per la maggior parte dei casi?
in altre parole, è difficile da indovinare quello che stai veramente cercando
(dun mente per aggiornare la tua domanda ancora?)
l'uso normale
select max(col_a) as anything
from table_a
order by anything;
i dun vedo qualsiasi danno per questo sia
select max(col_a) as anything, max(col_a) as anything2,
from table_a
order by anything, anything2;
se si prova zione di utilizzare la funzione di aggregazione per LIMIT
,
questo non è fattibile
definite dall'utente variabili da selezionare non è affidabile (I usato essere un ventilatore)
http://dev.mysql.com/doc/refman/5.0/en/user-variables.html
Come regola generale, non si dovrebbe mai assegnare un valore a una variabile utente e leggere il valore all'interno della stessa istruzione. Potresti ottenere i risultati che ti aspetti, ma questo non è garantito. L'ordine di valutazione per le espressioni che coinvolgono variabili utente non è definito e può variare in base agli elementi contenuti in una determinata istruzione; inoltre, questo ordine non è garantito essere lo stesso tra le versioni di MySQL Server. In SELECT @a, @a: = @ a + 1, ..., potresti pensare che MySQL valuterà prima @a e poi eseguirà un secondo. Tuttavia, la modifica dell'istruzione (ad esempio, aggiungendo una clausola GROUP BY, HAVING o ORDER BY) può far sì che MySQL selezioni un piano di esecuzione con un diverso ordine di valutazione.
Ho fatto un errore stupido quando ho provato la cosa alias che mi ha dato un risultato falso positivo, ho cancellato la risposta. – nobody