/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
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



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste