webForumDet fria alternativet

En funderare...!!

9 svar · 302 visningar · startad av Ceeron

CeeronMedlem sedan aug. 2000378 inlägg
#1

Jag sitter o funderar på en liten sak... o skulle vilja höra om ni vet lr har någon idé...

Vi säger att jag har en db med massa olika nyheter (lr något annat) som har postats av massa olika personer. Dock så har ingen av dom som postat något ID lr liknande så man kan sortera deras poster efter ID osv.

Låt oss säga att jag skulle vilja lista som 5 som har postat mest i olika rubriker o sedan ha en sjätte som har rubriken "övriga postare"... Kan man ta ut dom som har flest antal poster mha. SQL o sedan lägga resterande postare under en annan rubrik... Kanske låter luddigt o svårt o fatta... Men någon kanske förstår vad jag menar...

Eller ska man tvinga så alla som postar har ett eget ID som man kan länka till? Men då måste alla regga sig lr ...

Asså pratar lite luddigt för vill inte avslöja min magnifika idé om sida som jag har i huvet =b

cyprysMedlem sedan dec. 20003 563 inlägg
#2

SQL = "SELECT TOP 5 col_Headline, count(*) as antal FROM tbl_news GROUP BY Col_WrittenBy ORDER BY antal DESC"

CeeronMedlem sedan aug. 2000378 inlägg
#3

Den sjätte med dom resterande då?..
Tack för svaret ändå ;)

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Hur vet du vem som har postat vad?

Vilken dbms använder du?

CeeronMedlem sedan aug. 2000378 inlägg
#5

En så länge e det på planeringsstadiet mest, har lekt lite med kod men inte mkt... Använder Access 2k.

Alltså om vi säger så här istället då:

Jag e den ända som har admin men postar åt folk, ända settet för o se vem som har postat vad e med ett nickname. Sedan vill jag loopa upp dom 5 namnet som förekommer flest gånger precis som i föregående svar jag fick.

Efter det skulle jag vilja ha ytterligare en rubrik där alla som inte e dessa 5 samlas...
Typ:
Pelle (11posts) Nisse (30posts) Övriga (här är alla användare som inte e Pelle o Nisse)

Så man alltså delar upp dom... Då man kan se va Pelle o Nisse har postat eftersom dom e flitigast o sedan kan man klicka sig in på dom övriga...

Blev det mer klart va jag ville nu?

LarsGMedlem sedan dec. 200012 464 inlägg
#6
SQL = "SELECT  top 5 nickname, count(*) as antal FROM tbl_news GROUP BY nickname ORDER BY 2 DESC"
set rs = connect.execute(sql)

while not rs.eof
   'skriv ut
   rs.movenext
wend
'

För att få fram de som inte är med bland top 5

SQL = "SELECT  nickname, count(*) as antal " & _
" FROM tbl_news " & _
" where nickname not in (" & _
" select top 5 nickname from tbl_news " & _
" group by nickname order by count(*) desc )" & _ 
" GROUP BY nickname " & _
" ORDER BY 2 DESC "
CeeronMedlem sedan aug. 2000378 inlägg
#7

Va gulliga ni e ;)
Ska genast ta o koda lite o kolla om allt funkar ;)

Ytterligare en sak, säg att jag inte vill loopa upp dom 5 som har flest utan alla som har över 10posts...
Eller ännu värre alla som har högre snitt än resterande...

Hänger inte riktigt me i alla SQL svängar ;)

CeeronMedlem sedan aug. 2000378 inlägg
#8

Fattar nada på alla SQL saker...
Vill ha följande:

Välja anv som har fler än 10 posts som tillhör Session("id") samt kunna skriva ut antal inlägg efter varje namn.

Nån sida där man kan lära sig massa sql?

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Alla med mer än 10 inlägg (Hur kommer sessionId in i bilden?)

select nickname,count(*)
from tbl_news
group by nickname
having count(*) > 10

alla med fler inlägg än genomsnitt

select nickname,ount(*)
from tbl_news
group by nickname
having count(*) > (select avg(x)
                                  from (select count(*) x
                                               from tbl_news
                                   group by nickname))

Du kanske vill ta bort alla med 0 inlägg när du räknar ut genomsnittet?

CeeronMedlem sedan aug. 2000378 inlägg
#10

Hmm fan va du kan... Allt verkar dock inte funka riktigt som det ska... Var lär man sig SQL på ett bra sätt? Måste ju lära mig själv nångång. Kan ju inte sitta o fråga varje gång... ;)

SessionID kommer in i bilden för att det finns olika personer som postar saker. Asså myglar me min idé :P
Olika personer sparar sina saker under olika namn.

Skulle vilja ha följande SQL-sats:

Tabell: anv
anvID - ID
anv - username

Tabell: poster
postID - ID
anvID - vem posta?
av - alias typ, eller typ vem

Skulle vilja att det såg ut så här:

<a href="sida.asp?id=[b]<%=rs("anvID")%>[/b]">[b]<%=rs("anv")%>[/b]</a> ( [b]<%=rs("antal")%>[/b] )

Så alltså den loopar upp anv, med rätt anvID som en länk samt antalet posts som finns under det.
Vill att antingen fler än 10 posts, lr genomsnitt.
Sen ska bara poster där anvID = SessionID visas.

Hoppas jag gjorde det klart o hoppas nån kan fixa det, sitter typ i kläm med detta ;)

143 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)