SELECT c.Client, s.Searchword, count(*)
FROM Stats s
INNER JOIN Clients c ON c.ClientID = s.ClientID
GROUP BY s.Searchword,
c.Client
ORDER BY c.Client
Denna select gruperar ihop sökorden/client och visar hur många gånger man sökt på det ordet.
Går det (så klart det går men hur!) att begränsa varje klients till 10?
Nu kan t.ex. klient "A" ha 40 sökord med x antal träffar på varje, jag vill bara visa 10 med högst antal träffar!
SELECT c.Client, s.Searchword, count(*)
FROM Stats s
INNER JOIN Clients c ON c.ClientID = s.ClientID
GROUP BY s.Searchword,
c.Client
having count(*) in (select top 10 count(*) as occ
from stats st
where st.clientid = c.clientid
group by searchword
order by occ desc)
ORDER BY c.Client
SELECT c.Client, s.Searchword, count(*)
FROM Stats s
INNER JOIN Clients c ON c.ClientID = s.ClientID
GROUP BY s.Searchword,
c.Client
where searchWord in (select searchword
from (select top 10 searchword,count(*) as occ
from stats
where stats.clientid = s.clientid
group by searchword
order by occ desc, searchword)dt)
ORDER BY c.Client
290 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e