11. marts 2004 - 17:37Der er
3 kommentarer og 1 løsning
SQL Gruppering
Hejsa,
jeg skal have lavet en lidt speciel gruppering (som skal sorteres efter højeste points), som vedrører 4 forskellige beregninger fra data i 1 tabel. Tabellen indeholder f.eks: ----- SpillerID | SpillerNavn | Position | Mål | Skud | Taklinger | Afleveringer | Erobringer | Redninger |
Hvis der er tale om en midtbanespiller er ovenstående tal anderledes, dvs. jeg sikkert skal bruge 4 SQL-sætninger indeni hinanden. Før havde jeg nedenstående SQL som bare udregnede Målmand-points:
SELECT Top 32 PlayerID, HoldID, SUM(udregning herinde) as maalmandpts FROM playerstats WHERE Playerposition = 'Maalmand' AND RundeNr < 3 GROUP BY PlayerID, HoldID ORDER BY SUM(udregning herinde) DESC
Nogen der kan guide mig hen i at få lavet en (sikkert meget stor) SQL-sætning der tager højde for de 4 positioner og får lavet 4 forskellige beregninger ud fra det? Og samtidig sorterer det efter scoren?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Lav en anden tabel (kaldet Spillertyper): Position | TaklingScore | AfleveringScore | ErobringScore | SkudScore | MålScore Målmand | 0.1 | 0.05 |´0.06 | 0.12 | 0.25 ...
Hvor Position svarer til Position i din nuværende tabel (kaldet Spillere), og de andre angiver de tal du nævner (0,10, 0,05, 0,06, 0,12, 0,25, osv) for den pågældende position på banen.
Så laver du udtrækket som: SELECT s.PlayerId, s.HoldId, andreFelter, SUM( s.Taklinger * t.TaklingScore + ... s.Mål * t.MålScore ) AS Points FROM Spillere s LEFT JOIN SpillerTyper t ON s.Position = t.Position GROUP BY s.PlayerId, s.HoldId ORDER BY SUM( ... ) DESC
Så er det også nemt at tilrette vægtene, da de bare skal rettes i tabellen SpillerTyper.
Synes efterhånden der er en del af dem - respekt :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.