Jag har en funktion där man kan rösta på presentationsbilder, detta funkar perfekt och nu har jag lagt till en ny tabell där varje enskild röst läggs till. Kolumnerna är
fran | till | rost
Det jag nu undrar är om en person till exempel får siffrorna
1,1,2,5,5,5,3,4,5. Hur räknar jag ut vem som har fått flest femmor så jag kan visa vem som är snyggast i min top10.
Har en person 4 femmor och en annan 2 femmor så ska ju den med 4 femmor visas före den med 2 femmor
LarsGMedlem sedan dec. 200012 464 inlägg select till, count(*) as highFives
from t
where rost = 5
group by till
order by highFives desc
Utökade lite och fick nu tjejer i båda kolumnerna när jag ska ha killar i en och tjejer i en
Set male=objConn.Execute("select till, city, community, persnr, sex, picture, username, userID, roster, rost, varde, count(*) as highFives "&_
"from tblRoster r INNER JOIN tblUsers u ON u.userID = r.till "&_
"where rost = 5 or rost = 4 and sex='M' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by highFives desc limit 10")
Set female=objConn.Execute("select till, city, community, persnr, sex, picture, username, userID, roster, rost, varde, count(*) as highFives "&_
"from tblRoster r INNER JOIN tblUsers u ON u.userID = r.till "&_
"where rost = 5 or rost = 4 and sex='F' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by highFives desc limit 10")
//Längre ner på sidan
<table>
<%do until male.eof%>
<tr>
<td valign="top">
<img height="60" width="60" src="/images/users/<%=male("picture")%>">
</td>
<td>
<span class="brodtext">
<a class="menu" href="/view.asp?userID=<%=male("userID")%>">Besök krypinet</a><p>
<%=male("username")%> <%=male("sex")%><%=alder(male("persnr"))%> år<br>
Antal röster: <%=male("roster")%><br>
Antal poäng: <%=male("varde")%><br>
Bor: <%=male("city")%>, <%=male("community")%><br>
</span>
</td>
</tr>
<%male.movenext: loop%>
</table>
</td>
<td class="presentation">
<td width="350" class="presentation">
<table>
<%do until female.eof%>
<tr>
<td valign="top">
<img height="60" width="60" src="/images/users/<%=female("picture")%>">
</td>
<td>
<span class="brodtext">
<a class="menu" href="/view.asp?userID=<%=female("userID")%>">Besök krypinet</a><p>
<%=female("username")%> <%=female("sex")%><%=alder(female("persnr"))%> år<br>
Antal röster: <%=female("roster")%><br>
Antal poäng: <%=female("varde")%><br>
Bor: <%=female("city")%>, <%=female("community")%><br>
</span>
</td>
</tr>
<%female.movenext: loop%>
</table>
@ndersMedlem sedan juni 200032 969 inlägg Om du ska ha villkoren så måste du gruppa or-villkoren med parenteser, annars räcker det med att rost=5.
Gjorde så och nu visas en tjej och ingen kille trots att en kille har fått en femma, den första sen ombyggnaden så då borde ju han visas, men det är tomt hos killarna
Set male=objConn.Execute("select till, city, community, persnr, sex, picture, username, userID, roster, rost, varde, count(*) as highFives "&_
"from tblRoster r INNER JOIN tblUsers u ON u.userID = r.till "&_
"where (rost = 5 or rost = 4) and sex='M' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by highFives desc limit 10")
Set female=objConn.Execute("select till, city, community, persnr, sex, picture, username, userID, roster, rost, varde, count(*) as highFives "&_
"from tblRoster r INNER JOIN tblUsers u ON u.userID = r.till "&_
"where (rost = 5 or rost = 4) and sex='F' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by highFives desc limit 10")
Så här ser databasen ut just nu och det är bara en tjej som visas, inte en kille trots att det finns
+------+------+------+
| fran | till | rost |
+------+------+------+
| 1 | 1297 | 5 |
| 1139 | 1349 | 5 |
| 1 | 806 | 5 |
| 999 | 1402 | 5 |
| 1 | 1514 | 4 |
+------+------+------+
SjodahlMedlem sedan maj 20033 218 inlägg
WebbisNet skrev:
Det jag nu undrar är om en person till exempel får siffrorna
1,1,2,5,5,5,3,4,5. Hur räknar jag ut vem som har fått flest femmor så jag kan visa vem som är snyggast i min top10.
Har en person 4 femmor och en annan 2 femmor så ska ju den med 4 femmor visas före den med 2 femmor
Är det bara 5orna som räknas?
Varför inte bara använda medelpoäng?
Det är fyror och femmor som räknas. Målet är att de som har högst poäng efter fyror och femmor ska visas, inte de som har flest röster med flest poäng
SjodahlMedlem sedan maj 20033 218 inlägg Ett medel blir det ju inte dem som har flest röster som räknas!
Men lite elakt om någon har tex:
1-1-1-1-1-1-1-1-1-1-1-1-5-5-5
och någon har
3-3-3-3-3-3-3-3-3-3-3-3-4-5-5
Att den första skall komma högre. Men nu var det inte det du fråga efter så sorry!
Vilket blir mest rättvist då?
SjodahlMedlem sedan maj 20033 218 inlägg Ja tycker väl att ett medel är mest rättvist
Totalt antal poäng / antal röster!
hur ska jag då skriva om satsen för att visa medelpoängen på var och en av de 10 som visas?
cyprysMedlem sedan dec. 20003 563 inlägg select till, avg(rost) as avgVotes
from t
group by till
order by avgVotes desc
ska det inte vara så här
Set male=objConn.Execute("till, avg(rost) as avgVotes from tblUsers where sex='M' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by avgVotes desc limit 10")
får detta fel
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.25-max]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'till, avg(rost) as avgVotes from tblUsers where sex='M' and not
/snyggast/Default.asp, line 8
cyprysMedlem sedan dec. 20003 563 inlägg Select my friend, select is the key. ;)
vad jag är trög, hur kan man missa det?
Ser bara en tjej och inga killar nu
Set male=objConn.Execute("select persnr, roster, varde, username, picture, userID, sex, city, community, till, avg(rost) as avgVotes from tblRoster INNER JOIN tblUsers ON tblRoster.till = tblUsers.userID where sex='M' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by avgVotes desc limit 10")
Set female=objConn.Execute("select persnr, roster, varde, username, picture, userID, sex, city, community, till, avg(rost) as avgVotes from tblRoster INNER JOIN tblUsers ON tblRoster.till = tblUsers.userID where sex='F' and picture <> 'nopic.jpg' and not picture='1.jpg' "&_
"group by till "&_
"order by avgVotes desc limit 10")
cyprysMedlem sedan dec. 20003 563 inlägg Ok.
Om det är rätt är väl allt ok?
Vad ska det rätta svaret vara?
Svaret ska vara att fler än en tjej och minst en kille ska visas då de har fått poäng i den nya tabellen
finns det nåt enklare sätt att räkna ut snitt i sql-satsen, jag får inga resultat alls nu