17. maj 2013 - 17:15Der er
8 kommentarer og 1 løsning
Select og 2 count
Jeg har en tabel med
dato navn forandring
det er 2 vægte jeg aflæser hver søndag.
Jeg har lavet så jeg henter forandring for hver vægte
SELECT WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) AS valg , sum(`forandring`) AS antal FROM `veight` WHERE `navn` ='vaegt1' group by valg ORDER BY dato ASC
Det giver følgende
valg antal 18 0.90 19 0.50 20 4.80 21 14.30
Nu vil jeg gerne have så jeg kan få udtræk fra begge vægte
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Ikke testet, men kan du ikke bruge subselects? Såsom:
SELECT WEEKOFYEAR(DATE( FROM_UNIXTIME( `a.dato` ) )) AS valg, (SELECT SUM(`forandring`) FROM `veight` WHERE `navn` = 'vaegt1' AND WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) = WEEKOFYEAR(DATE( FROM_UNIXTIME( `a.dato` )) AS vaegt1, (SELECT SUM(`forandring`) FROM `veight` WHERE `navn` = 'vaegt2' AND WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) = WEEKOFYEAR(DATE( FROM_UNIXTIME( `a.dato` )) AS vaegt2 FROM `veight` AS a GROUP BY valg ORDER BY valg
Altså: du selecter ugenummeret fra tabellen, og derefter selecter du summen af forandringerne for navn vaegt1 for det samme ugenummer, og til slut selecter du summen af forandringerne for navn vaegt2, igen for de samme ugenumre. Fordi du bruger tabellen flere gange er du nødt til at give den en alias første gang, jeg brugte aliasen a.
#1064 - 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 'FROM `veight` AS a GROUP BY valg ORDER BY valg' at line 4
SELECT WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) AS valg , (SELECT sum(`forandring`) FROM `veight` WHERE `navn` = 'vaegt1' AND WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) = valg )AS vaegt1, (SELECT sum(`forandring`) FROM `veight` WHERE `navn` = 'vaegt2' AND WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) = valg )AS vaegt2 FROM `veight` AS a WHERE `dato` > '1364707120' GROUP BY valg ORDER BY valg
Jeg har bare et problem. Jeg har sat en dato ind, det virker fint for vaegt2 men ikke vaegt1
SELECT WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) AS valg , `dato` AS dato, (SELECT sum(`forandring`) FROM `veight` WHERE `dato` > '1364707120' AND `navn` = 'vaegt1' AND WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) = valg ) AS vaegt1, (SELECT sum(`forandring`) FROM `veight` WHERE `dato` > '1364707120' AND `navn` = 'vaegt2' AND WEEKOFYEAR(DATE( FROM_UNIXTIME( `dato` ) )) = valg ) AS vaegt2 FROM `veight` AS a WHERE `dato` > '1364707120' GROUP BY valg ORDER BY valg ASC
Det var vist hjælp til selvhjælp. Det var godt, for jeg er lige kommet hjem, og selskabet var vist for muntert til at jeg nu kunne gå ind i problemløsnings-mode.
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.