Avatar billede dcheng Novice
27. april 2005 - 12:21 Der er 8 kommentarer og
1 løsning

De hyppigeste 25, hvordan trækker jeg dem ud?

Jeg har en Tabel med kolonnerne: vare_nr, timestamp

Den bruges til at registrere hvormange gang en vare bliver vist og hvornår.

Det jeg gerne vil er at trække de hyppigeste 25 viste vare numre ud. Hvordan kan jeg nemmest gøre det.

Jeg bruger PHP som script sprog.
Avatar billede xyborx Nybegynder
27. april 2005 - 12:23 #1
Det må være noget i retning af:

SELECT COUNT(*) AS antal,vare_nr,timestamp GROUP BY vare_nr ORDER BY antal LIMIT 5
Avatar billede michael_stim Ekspert
27. april 2005 - 12:25 #2
SELECT varenr FROM tabel ORDER BY varenr DESC LIMIT 25
Avatar billede barklund Nybegynder
27. april 2005 - 12:27 #3
$query = mysql_query("SELECT h.vare_nr AS nr, v.vare_beskrivelse AS beskrivelse, COUNT(vare_nr) AS hits FROM varer AS v INNER JOIN vare_hits AS h ON h.vare_nr = v.vare_nr GROUP BY vare_nr ORDER BY hits DESC LIMIT 25") or die ("Æv: ".mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    printf("Rækken er %s (%d) med %d hits<br />", $row['nr'], $row['beskrivelse'], $row['hits']);
}

Så skal du bare lidt indsætte de rigtige tabelnavne og attribut navne :)

--
Morten Barklund"",nnr]'
Avatar billede dcheng Novice
27. april 2005 - 12:53 #4
Kan du ikke uddybe den metode der jeg forstår ikke noget af den.. hvorfor 'h.vare_nr AS nr,' hvad gør det fx.? og mysql_fetch_assoc Hmm.. ??
Avatar billede barklund Nybegynder
27. april 2005 - 13:11 #5
h og v er to tabeller. vare_nr er en attribut. AS x er et andet navn for tabellen eller attributten (som en nemmere at bruge eller bare for syns skyld).

mysql_fetch_assoc er en metode til at hente en række ud af en query - ligesom mysql_fetch_row og lignende.
Avatar billede dcheng Novice
08. maj 2005 - 20:14 #6
SELECT varenr, COUNT(varenr) AS hits FROM stat_vare GROUP BY varenr ORDER BY hits DESC LIMIT 25

Dette var alt hvad jeg skulle bruge.
barklund smid svar :D




michael_stim dit for slag er også ok men problemet ligger i at den kun lister deb 25 varer ned det størte vare nr. hehe..
Avatar billede barklund Nybegynder
08. maj 2005 - 20:25 #7
Finfin, troede ikke, at numrene var nok - som oftest er beskrivelserne mere interessante at vise frem :)
Avatar billede dcheng Novice
08. maj 2005 - 20:50 #8
Jo self. men for at spare plads på sql'en så har jeg en anden tabel med vare info pris osv. Så ud fra Vare nr. har jeg også dem..
Avatar billede barklund Nybegynder
08. maj 2005 - 20:52 #9
Jada, det var jo også det, som jeg lavede i én query - altså sammenkørte to tabeller til at hente beskrivelserne.

Men tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester