webForumDet fria alternativet

GÅr detta?? "GROUP BY"

ASP

5 svar · 271 visningar · startad av znyder

Medlem sedan dec. 2002172 inlägg
Frågan#1
<%
SET RS = MinCon.Execute("SELECT title, count(title) FROM games GROUP BY title ORDER BY count(title) DESC")
Do While NOT RS.EOF

Response.Write RS(0) & "-" &  RS(1) & "<BR>"

RS.MoveNext
Loop
%>

Denna kod listar titlar som är "mest listade"... MEN jag har ett problem... Om någon medlem har listat sitt spel med titeln: Zelda: Wind Waker istället för: Zelda: The Wind Waker så räknar den 2 spel istället för 1. Nu så undrar jag om det går att fixa så att den kan räkna ihop "flera" spel till ett som den listar sen...

Exempel:
Zelda: Wind Waker - 10st
Zelda: The Wind Waker - 24st
Zelda - 40st
Legend of Zelda - 20st

så ska listan egentligen vara:
Zelda: The Wind Waker - 34st
Legend of Zelda - 60st

Så skulle jag vilja ha nått script där jag själv kan skriva in vilka spel som ska räknas med i vilken titel...

IN Zelda: The Wind Waker COUNT IN:
Zelda: Wind Waker
Zelda Wind Waker
Wind Waker

o.s.v om ni förstår hur jag menar ;)
är i akut behov av hjälp!!

Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Man ska aldrig låta besökare själva skriva in text, så gör jag. Dvs, jag hade gjort en dropdown med spelen rätt stavade, så får besökarna välja ur den.

Men, det kan vara lite svårt nu.

Det jag kan komma på på rak arm nu är att du har en 'tilläggsmodul' för varje spel, dvs:

(Zelda: Wind Waker sökt)
Call strsökalla(Zelda: Wind Waker)

SELECT ... WHERE title LIKE " & strsökalla & "

Function strsökalla(a)
Select Case a
Case "Zelda: The Wind Waker", "Zelda: Wind Waker"
 strsökalla="Zelda 1, Zelda 2, Zelda: Wind Waker, Zelda: The Wind Waker"
Case "andra titlar"
.
.
End Function

Dvs du sätter ihop en funktion där du lägger till alla de som hör ihop. Kan nog gå, men det finns säkert enklare och bättre sätt?

Medlem sedan dec. 2002172 inlägg
#3

Hmm, letar den bara efter Zelda nu?
För den ska kolla upp de flesta titlarna, kanske inte funkar?

Medlem sedan dec. 2002172 inlägg
#4

Jag vet inte alls hur den ska användas... :(
Det är ungfär 15.000 spel i databasen. Kollar den automatiskt?

OBS jag e dum i huvet. Oarkar du "bygga" in den i min kod? Så jag kan se helheten ;)

Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

'Nja, det är ju inte så svårt, det är ju endast att stoppa in den i WHERE' tänkte jag skriva.
Men, du har ju ingen...
Då blir det lite besvärligare...
Och ingen annan har svarat, har jag rätt alltså? :q

För att fixa detta får du isåfall FÖRST hämta alla title rakt upp och ned, precis som du gör.

Men, sedan måste du loopa igenom alla poster för att haämta alla med min WHERE-sats, dvs du hämtar alla 'The Wind Waker', 'The Wind Wakr', 'Wind Waker' etc som då är listade i min funktion.

:stud MEN, kom jag på (men skrev klar min tanke ändå), detta kommer inte att fungera som du vill. Listningen kommer att bli helt fel, för först hämtar (och räknar) du alla i fallande ordning, sedan hämtar och räknar du mha detta RS en gång till. Då kommer antalet att bli fel, dessutom kommer Zelda att dyka upp med alla sina varianter i listan igen!
GROUP löser inte detta, för 'Wind Waker' och 'The Wind Waker' är inte samma sak.

Jag har alltså ingen lösning, annat än att man inte ska låta användare skriva in saker själv som man tex ska räkna, söka efter etc.

Medlem sedan dec. 2002172 inlägg
#6

Jo, har kollat in det.
Jobbigt att fylla in spel till ca: 30-40 konsoler ;)

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)