webForumDet fria alternativet

snart 2007

6 svar · 490 visningar · startad av tanten

tantenMedlem sedan nov. 20051 596 inlägg
#1

Nu har den här selecten fungerat helt OK, men... nu är det snart 2007 och då kommer den helt klart inte fungera.

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 ) =2006 AND problemID <> 9  GROUP BY placering

I och med att databasen innehåller en del uppgifter från 2004 och framåt så har jag kunnat testa med att skriva >=2004 men det blir inte alls som jag tänkt hur jag än försökt med sådant som att gruppera datum osv.
Målet är att få reda på hur många 1:or upp t.o.m 6:orna det finns varje år.
Vad är det som måste till?

spangoMedlem sedan juni 20008 205 inlägg
#2

Den enkla lösningen är förstås att skriva year( l.datum ) = 2007 istället. Vill du ha alla lopp för det år det är just nu borde det funka med year( l.datum ) = year(now()). Men av din formulering tror jag kanske att det är nåt sånt här du är ute efter:

SELECT placering, count( * ) AS antal, year( l.datum ) AS theYear
FROM resultat s JOIN lopp l ON l.loppID = s.loppID
WHERE typID < 5 AND problemID <> 9
GROUP BY placering, theYear
tantenMedlem sedan nov. 20051 596 inlägg
#3

Det ser ut som det kommer fungera jättebra. Meningen är att det ska skrivas ut en tabell där man kan se för varje år antalet placeringar så nu återstår att förstå hur php ska skriva ut en 0:a för varje kolumn första januari :-)
Tack så jättemycket!

tantenMedlem sedan nov. 20051 596 inlägg
#4

Det vill sig inte riktigt. När jag försöker få in att det bara ska hämtas ut data från 2006 och framåt så ignoreras det utan felmeddelande och jag får svar från 2003 och framåt ändå.
Så vad är det för något som måste till då utan att count slutar fungera... vilket jag lyckats med...

Peter SMedlem sedan dec. 20025 483 inlägg
#5

Hur ser din ickefungerande fråga ut? Testa

SELECT placering, count( * ) AS antal, year( l.datum ) AS theYear
FROM resultat s JOIN lopp l ON l.loppID = s.loppID
WHERE typID < 5 AND problemID <> 9 AND year(l.datum) >= 2006
GROUP BY placering, theYear
tantenMedlem sedan nov. 20051 596 inlägg
#6

Det fungerade! TACK!
Fattar inte vad jag gjorde för fel eftersom tycker att jag testat detta också...
Nåja GLAD är jag i alla fall...

Peter SMedlem sedan dec. 20025 483 inlägg
#7

Weee! :bire

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)