Hur gör jag för att få ut summan hopräknad och inte uppdelad som här? Går det eller måste man göra två frågor?
SELECT placering, count( * ) AS antal, year( l.datum ) , sum( s.prisSumma )
FROM resultat s
JOIN lopp l ON l.loppID = s.loppID
WHERE typID <5 AND year( l.datum ) =2006
GROUP BY placering
Vad menar du att du inte vill ha det uppdelat på?
Om du vill ha totalen oberoende av placering (för jag antar att det är den uppdelningen du vill slippa?) får du antingen ställa en till SQL-fråga (eftersom du använder en så gammal version av MySQL), eller räkna ihop i script- / programkoden.
Jag misstänkte att det kunde vara så. Ja det är totalen oberoende av placering jag vill få ihop.
Hur skulle det sett ut om det var Mysql 4.1 i stället? Lite nyfiken eftersom jag har tillgång även till det på annan server.
Om du istället använder 4.1, så kan du använda subqueries, och då skulle det kunna se ut så typ:
SELECT placering, count( * ) AS antal, year( l.datum ) , sum( s.prisSumma ),
(SELECT count(*) FROM resultat
<joininstruktion utan group by>) AS totalantal,
(SELECT sum(s.prisSumma) FROM resultat
<joininstruktion utan group by>) AS totalsumma,
FROM resultat s
JOIN lopp l ON l.loppID = s.loppID
WHERE typID <5 AND year( l.datum ) =2006
GROUP BY placering
Jag fick i hop det till slut med två frågor på 4.0 men känner mig inte riktigt klar. Vilket är det enklaste sättet att få tabellen att börja räkna om från 1:a januari 2007, med en ny rad?
Kanske enklast att visa hur det är meningen att det ska se ut. Finns lite fusk där, men principen :) resultat
Kom på att det förmodligen är fel forum för min fråga, men det var egentligen denna i första hand jag vill veta hur den ska vara
WHERE typID <5 AND year( l.datum ) =2006... tror jag :OO
Om du tar bort året ur where-satsen (eller ändrar = till >=) så borde du få med data med en post per år.
Missförstår jag?
Nej då jag tror inte du missförstår men däremot så fungerar det inte.
Suttit snart i 7 timmar och försökt ändra både hit och dit i frågorna, men fattar inte hur jag ska få till det.
Antal placeringar blir hopräknade för alla år men summa prispengar blir rätt om jag inte har ett specifikt år att göra beräkningarna på. I mitt exempel hamnar de utanför tabellen iofs, men de finns :) som du kan se i länken jag gav tidigare.
Mina felaktiga frågor ser ut som nu
SELECT placering, count( * ) AS antal, year( l.datum )
FROM resultat s
JOIN lopp l ON l.loppID = s.loppID
WHERE typID <5 AND year( l.datum )
GROUP BY placering
--------------och
SELECT sum( prisSumma ) , year( l.datum )
FROM resultat r, starta s
JOIN lopp l ON r.loppID = l.loppID AND r.loppID = s.loppID
GROUP BY year( datum ) ASC
Någon mer fingervisning om det är i frågorna jag ska ändra?
Jag får inte ut något värde i cellerna heller om antalet placeringar är 0, vilket måste skrivas ut... :q
[1]Jag tar bort markeringen så länge... känns ju som sagt inte riktigt färdig än även om det fungerar för ett år.
129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17