Citat:
Ursprungligen postat av Lindahl
Detta funkar i MySQL för mig:
SELECT * FROM (SELECT * FROM resultat ORDER BY date DESC LIMIT 50) AS s ORDER BY resultat DESC
|
Lägg denna konstruktion på minnet, den är inte bara bra till att göra urval på en sortering och visa på en annan.
Man kan också kringgå Mysql:s förbud mot att välja ut och uppdatera i samma fråga. Om man vill uppdatera en tabell så att en rad får samma värde som en annan rad har,
t ex.
Kod:
Update tabell set kolumn=
(select kolumn from tabell where index=värde)
where index=annatvärde
ger felmeddelande om att inte Mysql vill göra en subquery i samma sats som man uppdaterar.
Om man använder metoden ovan så blir det en ny temporär tabell, som vi kan ställa en fråga till så här:
Kod:
Update tabell set kolumn=
( select kolumn from
(select * from tabell) as x
where index=värde )
where index=annatvärde
Läs mer på
http://www.xaprb.com/blog/2006/06/23...rget-in-mysql/