MySQL query - hvordan gør jeg det

Tags:    databaser

Jeg har en tabel over bud i min auktion.
Jeg har desuden et givent antal varer, fx. 10.
Under hvert bud er der en pris og et antal varer som brugeren byder på. Min tabel over bud ser nogenlunde således ud:

ID - pris - antal
1 - 30 - 3
2 - 31 - 5
3 - 32 - 8

Nu er mit spørgsmål hvordan jeg finder de dyreste bud på (i dette tilfælde) 10 varer. Altså skulle jeg gerne få følgende:

ID - pris - antal
3 - 32 - 8
2 - 31 - 2



3 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg har en tabel over bud i min auktion.
Jeg har desuden et givent antal varer, fx. 10.
Under hvert bud er der en pris og et antal varer som brugeren byder på. Min tabel over bud ser nogenlunde således ud:

ID - pris - antal
1 - 30 - 3
2 - 31 - 5
3 - 32 - 8

Nu er mit spørgsmål hvordan jeg finder de dyreste bud på (i dette tilfælde) 10 varer. Altså skulle jeg gerne få følgende:

ID - pris - antal
3 - 32 - 8
2 - 31 - 2


Jeg går ud fra at den sidste række i din tabel ser sådan ud:
2 - 31 - 5

Den her SQL-forespørgsel burde gøre det:
SELECT id, pris, antal, pris * antal AS intSum FROM dbTest ORDER BY intSum DESC

Casper



Jeg har en tabel over bud i min auktion.
Jeg har desuden et givent antal varer, fx. 10.
Under hvert bud er der en pris og et antal varer som brugeren byder på. Min tabel over bud ser nogenlunde således ud:

ID - pris - antal
1 - 30 - 3
2 - 31 - 5
3 - 32 - 8

Nu er mit spørgsmål hvordan jeg finder de dyreste bud på (i dette tilfælde) 10 varer. Altså skulle jeg gerne få følgende:

ID - pris - antal
3 - 32 - 8
2 - 31 - 2


Du bruger bare en ORDER by i din select, mener det er ORDER by desc, ellers så prøv ORDER by asc

Kan aldrig kende forskel :)

Jan Larsen
CO-owner Jabo-web.com
http://www.jabo-web.com/ref=3




Vil skyde på det skal se ca sådan her ud

$hent = mysql_query("select * from databsen ORDER BY detdenskalsotere efter LIMIT '10'") or die();
while ($row = mysql_fetch_array($hent))
{

dinne vare der skal ud skrives

}



t