Kom ihåg mig?
Home Menu

Menu


Sortera efter störst förekomst?

Ämnesverktyg Visningsalternativ
Oläst 2006-03-31, 15:10 #1
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Jag har en sökfunktion där jag sparar sökorden i en databastabell.
Jag vill lista de fem mest sökta orden.

Queryn ser nu ut såhär:
Kod:
SELECT * FROM search_objects GROUP BY search_string ASC LIMIT 5
Då grupperas de sökord som förekommer flera gånger, men de sorteras inte efter störst förekomst. Jag vill alltså att de ord som förekommer flest gånger ska hamna först.

hoppas nån har någon idé
Micke_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-31, 15:15 #2
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by Micke_@Mar 31 2006, 15:10
Jag har en sökfunktion där jag sparar sökorden i en databastabell.
Jag vill lista de fem mest sökta orden.

Queryn ser nu ut såhär:
Kod:
SELECT * FROM search_objects GROUP BY search_string ASC LIMIT 5
Då grupperas de sökord som förekommer flera gånger, men de sorteras inte efter störst förekomst. Jag vill alltså att de ord som förekommer flest gånger ska hamna först.

hoppas nån har någon idé
Kod:
select *,count(search_string) as scount from search_objects group by search_string order by scount asc limit 5;
Har inte en ANING om detta fungerar, men det kan iallafall ge dig lite ider.
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-31, 15:16 #3
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Juste, tror nog du behöver byta asc mot desc i min query.
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-31, 15:22 #4
Henrik Henrik är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 280
Henrik Henrik är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 280
Du får slänga in "ORDER BY COUNT(search_id) DESC" eller liknande så blir det nog som du vill. Inte nödvändigtvis en jättebra query om du har väldigt många sökningar dock, bättre att ha statistik i en annan tabell i så fall.
Henrik är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-03-31, 16:49 #5
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Micke_ Micke_ är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 171
Jag löste det med

Citat:
SELECT search_string AS name, COUNT(search_string) AS top5 FROM search_objects GROUP BY search_string ORDER BY top5 DESC LIMIT 5
tack för hjälpen!
Micke_ är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017