| FAQ |
| Kalender |
|
|
Ämnesverktyg | Visningsalternativ |
|
|
|
|
#1 | ||
|
|||
|
Medlem
|
Tjena!
Bökar med en query som jag inte får till. Hur ska frågan se ut om jag vill få ut alla rader från en tabell som har det högsta värdet från en annan tabell. Har försökt i stil med följande (mysql): Kod:
SELECT t1.result, t2.* FROM tabell1 as t1, tabell2 as t2 WHERE t2.result = t1.result ORDER BY t1.result DESC |
||
|
|
Svara med citat
|
|
|
#2 | |||
|
||||
|
Klarade millennium-buggen
|
Högsta resultatet eller alla resultat? Du kanske menar något i stil med:
select t2.* FROM tabell2 as t2 WHERE t2.result = (SELECT t1.result FROM tabell1 as t1 ORDER BY t1.result desc limit 1) Observera att syntaxen kan vara käpprätt åt skogen, det är urvalsprincipen jag undrar över. |
|||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Medlem
|
Jo precis alla rader i tabell 1 som har samma värde på result som det högsta värdet på result i tabell 2, skiver som en kratta men det kanske går att förstå ändå...
Jag testade din query, det klagas inget över felaktig syntax men däremot får jag ett tomt svar |
||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Medlem
|
Egentligen har jag tänkt lite fel inser jag nu... Jag behöver bara alla rader som har det högsta värdet på result. Om data ser ut på följande sätt:
ID | NAMN | RESULT -------------------------- 0 | Jens | 4 1 | Nicke | 2 2 | Ola | 4 3 | Bengt | 1 Nu vill jag få ut raderna med Ola och Jens... |
||
|
|
Svara med citat
|
|
|
#5 | ||
|
|||
|
Klarade millennium-buggen
|
SELECT ID, Namn, Result FROM Tabell WHERE Result = (
SELECT MAX(Result) FROM Tabell GROUP BY Result ORDER BY Result DESC LIMIT 1 ) kanske?! |
||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
Medlem
|
yes sådär, fast ännu enklare.
SELECT ID, Namn, Result FROM Tabell WHERE Result = ( SELECT MAX(Result) FROM Tabell ) tackar! / vic |
||
|
|
Svara med citat
|
|
|
#7 | |||
|
||||
|
Klarade millennium-buggen
|
Hehe så du behövde inte tabell2 alls. Ja det underlättar ju.
|
|||
|
|
Svara med citat
|
| Svara |
|
|