Mikael Hansen wrote:
>
> Hejsa
>
> Jeg har brug for at lave en query lidt som denne på MySQL:
> select username, saldo from main where username IN (select DISTINCT
> username from main) ORDER BY clock DESC LIMIT 1;
>
> Men den fungerer ikke. Jeg kan se udfra mysql manualen at MySQL ikke
> understøtte sub-queries, men at querien i de flest tilfælde kan skrives
> om. Spørgsmålet er nu hvordan?
select m1.username, m2.saldo
from main m1
, main m2
where m1.username = m2.username
ORDER BY clock DESC LIMIT 1;
(Distinct er overflødig, da du alligevel kun udvælger én.)
> Jeg ønsker at trække username, saldo ud for et hvert username der findes i
> tabellen og slutteligt sortere resultatet så dem med mindst saldo
> kommer til sidst.
>
> Dette er tabellen:
> +------------+-----------+------+-----+---------+-------+
> | Field | Type | Null | Key | Default | Extra |
> +------------+-----------+------+-----+---------+-------+
> | creator_ip | char(15) | YES | | NULL | |
> | username | char(8) | YES | | NULL | |
> | text | char(255) | YES | | NULL | |
> | clock | int(11) | YES | | NULL | |
> | amount | int(11) | YES | | NULL | |
> | saldo | int(11) | YES | | NULL | |
> | creator | char(8) | YES | | NULL | |
> +------------+-----------+------+-----+---------+-------+
Det har ikke meget med ovenstående eksempel at gøre:
select username
, saldo
from tabel
order be saldo asc
--
Kristian Damm Jensen | Feed the hungry. Go to
kristian-damm.jensen@capgemini.dk |
http://www.thehungersite.com