|
| Vælg kun højste værdi Fra : Harald |
Dato : 10-04-07 08:31 |
|
Jeg bruger MySQL 4.0.26 og har en SQL der ligner denne.
SELECT mintabel.plads, mintabel.idkode, COUNT(*) as count FROM mintabel
group by plads, idkode
order by count desc
dette giver mig en liste sorteret med højste count øverst, jeg vil gerne
lave det således at jeg kun får de poster som har det højste count, dvs.
hvis den højste har 10 så er det kun den der skal vises men hvis der er 2
eller flere med samme højste count så skal de alle vises.
/HK
| |
Jørn Andersen (10-04-2007)
| Kommentar Fra : Jørn Andersen |
Dato : 10-04-07 17:44 |
|
On Tue, 10 Apr 2007 09:30:55 +0200, "Harald" <nomail@noname.dk> wrote:
>Jeg bruger MySQL 4.0.26 og har en SQL der ligner denne.
>
>SELECT mintabel.plads, mintabel.idkode, COUNT(*) as count FROM mintabel
>group by plads, idkode
>order by count desc
>
>dette giver mig en liste sorteret med højste count øverst, jeg vil gerne
>lave det således at jeg kun får de poster som har det højste count, dvs.
>hvis den højste har 10 så er det kun den der skal vises men hvis der er 2
>eller flere med samme højste count så skal de alle vises.
I Access er det:
SELECT TOP 1 mintabel.plads, mintabel.idkode, Count(*) AS [count]
FROM mintabel
GROUP BY mintabel.plads, mintabel.idkode
ORDER BY Count(*) DESC;
I MySql er det vist noget med LIMIT et eller andet i stedet for TOP 1.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Harald (10-04-2007)
| Kommentar Fra : Harald |
Dato : 10-04-07 19:06 |
|
"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:oben13dddhvjp1h91e2eqvbcjng63jjhge@4ax.com...
> On Tue, 10 Apr 2007 09:30:55 +0200, "Harald" <nomail@noname.dk> wrote:
>
>>Jeg bruger MySQL 4.0.26 og har en SQL der ligner denne.
>>
>>SELECT mintabel.plads, mintabel.idkode, COUNT(*) as count FROM mintabel
>>group by plads, idkode
>>order by count desc
>>
>>dette giver mig en liste sorteret med højste count øverst, jeg vil gerne
>>lave det således at jeg kun får de poster som har det højste count, dvs.
>>hvis den højste har 10 så er det kun den der skal vises men hvis der er 2
>>eller flere med samme højste count så skal de alle vises.
>
> I Access er det:
> SELECT TOP 1 mintabel.plads, mintabel.idkode, Count(*) AS [count]
> FROM mintabel
> GROUP BY mintabel.plads, mintabel.idkode
> ORDER BY Count(*) DESC;
>
> I MySql er det vist noget med LIMIT et eller andet i stedet for TOP 1.
Jeg kan jo ikke sætte en limit da jeg ikke ved om der er 1 eller flere
poster med samme højste count.
/HK
| |
Jørn Andersen (10-04-2007)
| Kommentar Fra : Jørn Andersen |
Dato : 10-04-07 19:25 |
|
On Tue, 10 Apr 2007 20:05:53 +0200, "Harald" <nomail@noname.dk> wrote:
>"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
>news:oben13dddhvjp1h91e2eqvbcjng63jjhge@4ax.com...
>> I Access er det:
>> SELECT TOP 1 mintabel.plads, mintabel.idkode, Count(*) AS [count]
>> FROM mintabel
>> GROUP BY mintabel.plads, mintabel.idkode
>> ORDER BY Count(*) DESC;
>>
>> I MySql er det vist noget med LIMIT et eller andet i stedet for TOP 1.
>
>Jeg kan jo ikke sætte en limit da jeg ikke ved om der er 1 eller flere
>poster med samme højste count.
I Access får man begge, når man skriver TOP 1 og der fx er 2 med samme
værdi. Har du checket, at det ikke også er tilfældet i MySql?
Og hvis ikke: Hvilken af dem skulle den så vise?
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Harald (10-04-2007)
| Kommentar Fra : Harald |
Dato : 10-04-07 21:46 |
|
"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:fhln13d7rcjs2gd2to1p3odor8vc8ul0g4@4ax.com...
> On Tue, 10 Apr 2007 20:05:53 +0200, "Harald" <nomail@noname.dk> wrote:
>
>>"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
>>news:oben13dddhvjp1h91e2eqvbcjng63jjhge@4ax.com...
>>> I Access er det:
>>> SELECT TOP 1 mintabel.plads, mintabel.idkode, Count(*) AS [count]
>>> FROM mintabel
>>> GROUP BY mintabel.plads, mintabel.idkode
>>> ORDER BY Count(*) DESC;
>>>
>>> I MySql er det vist noget med LIMIT et eller andet i stedet for TOP 1.
>>
>>Jeg kan jo ikke sætte en limit da jeg ikke ved om der er 1 eller flere
>>poster med samme højste count.
>
> I Access får man begge, når man skriver TOP 1 og der fx er 2 med samme
> værdi. Har du checket, at det ikke også er tilfældet i MySql?
> Og hvis ikke: Hvilken af dem skulle den så vise?
LIMIT har ikke samme funktion i MySQL.
/HK
| |
Jørn Andersen (11-04-2007)
| Kommentar Fra : Jørn Andersen |
Dato : 11-04-07 01:27 |
|
On Tue, 10 Apr 2007 22:46:20 +0200, "Harald" <nomail@noname.dk> wrote:
>> I Access får man begge, når man skriver TOP 1 og der fx er 2 med samme
>> værdi. Har du checket, at det ikke også er tilfældet i MySql?
>> Og hvis ikke: Hvilken af dem skulle den så vise?
>
>LIMIT har ikke samme funktion i MySQL.
OK - så beklager jeg at have ledt dig på vildspor
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Harald (11-04-2007)
| Kommentar Fra : Harald |
Dato : 11-04-07 08:32 |
|
"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:jpao13hsnr0gldndo82432cueitgbtaneg@4ax.com...
> On Tue, 10 Apr 2007 22:46:20 +0200, "Harald" <nomail@noname.dk> wrote:
>
>>> I Access får man begge, når man skriver TOP 1 og der fx er 2 med samme
>>> værdi. Har du checket, at det ikke også er tilfældet i MySql?
>>> Og hvis ikke: Hvilken af dem skulle den så vise?
>>
>>LIMIT har ikke samme funktion i MySQL.
>
> OK - så beklager jeg at have ledt dig på vildspor
Det er altid godt med et lille problem for man lære mange andre ting
undervejs i søgningen efter løsningen
/HK
| |
Peter Brodersen (10-04-2007)
| Kommentar Fra : Peter Brodersen |
Dato : 10-04-07 19:46 |
|
On Tue, 10 Apr 2007 09:30:55 +0200, "Harald" <nomail@noname.dk> wrote:
>Jeg bruger MySQL 4.0.26 og har en SQL der ligner denne.
>
>SELECT mintabel.plads, mintabel.idkode, COUNT(*) as count FROM mintabel
>group by plads, idkode
>order by count desc
Tjek artiklen Top-n query på Troels Arvins side med
database-relationer:
http://troels.arvin.dk/db/rdbms/#select-top-n
Dog, det lader til at kræve subselects, og så skal du op på 4.1.
--
- Peter Brodersen
Kendt fra Internet
| |
Harald (10-04-2007)
| Kommentar Fra : Harald |
Dato : 10-04-07 21:51 |
|
"Peter Brodersen" <usenet2007@ter.dk> skrev i en meddelelse
news:evgm24$tjg$1@news.klen.dk...
> On Tue, 10 Apr 2007 09:30:55 +0200, "Harald" <nomail@noname.dk> wrote:
>
>>Jeg bruger MySQL 4.0.26 og har en SQL der ligner denne.
>>
>>SELECT mintabel.plads, mintabel.idkode, COUNT(*) as count FROM mintabel
>>group by plads, idkode
>>order by count desc
>
> Tjek artiklen Top-n query på Troels Arvins side med
> database-relationer:
> http://troels.arvin.dk/db/rdbms/#select-top-n
>
> Dog, det lader til at kræve subselects, og så skal du op på 4.1.
Så må jeg gøre det i programmet i stedet, det er heller ikke det store
problem.
/HK
| |
|
|