webForumDet fria alternativet

Räkna antalet domare.

Databaser & SQL

2 svar · 265 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Jag sysslar med en projekt för resultathantering för brukshundstävlingar. Där jag nu stött på lite problem.

Jag kör MySQL 5.0.

Jag har en tabell där jag sparar alla de betyg som de olika domarna ger på respektive hund.

Tabellen ser ut så här:

id | grade | specialid | elementid |type | dogregnr | owner | determine

grade är betyget, owner kan vara vilken som helst av domarna som betygsatt hunden i de olika specialmomenten (specialid) som finns i elementet (elementid) och är av typen special eller lydnad (type).

Härifrån skulle jag vilja ta reda på antalet domare som betygsatt hunden, samt summan av grade för den hunden delat på antalet domare för den hunden.

Går detta att utföra i en SQL-sats, eller måste jag använda flera?

Medlem sedan juni 20031 837 inlägg
#2

testa följande, det fungerade för mig i MySQL

select count(owner), sum(grade)/count(owner) from myTable where id='1'
Medlem sedan nov. 20014 054 inlägg
#3

The_Hulk skrev:

testa följande, det fungerade för mig i MySQL

select count(owner), sum(grade)/count(owner) from myTable where id='1'

Ahh.. hehe.. funkade ju bra när jag a till distinct framför owner, hade en liknande sats men höll på att bli tokig för att den räknande alla poster som var lika också :D Så lösningen blev:

select count(distinct owner), sum(grade)/count(distinct owner) from myTable where dogregnr='regnumret';
255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)