Ich versuche, einige Ergebnisse mit dieser Abfrage zu erhalten, das Problem ist, wenn ich versuche, "GROUP BY c.campus" ohne YEAR (a.period_end), und natürlich die Ergebnisse nach Campus gruppiert, plus sie richtig sortieren wie "2012, 2013, 2014, 2015", das Problem ist EndYear Mixe, nicht alle Jahre anzeigen ... Vielen Dank im Voraus.Es ist möglich, eine "SUM" Unterabfrage zu machen oder was sollte getan werden?
Query by jetzt:
SELECT DISTINCT a.user, a.service, GROUP_CONCAT(b.account) accounts,
YEAR(a.period_end) AS EndYear,
SUM(a.consum) AS SumConsumEngy,
SUM(a.cost) AS SumCostEngy, c.campus
FROM `sdspanel1`.`pdc_consum_engy` a
INNER JOIN `sdspanel1`.`ctrl_services` b ON(a.servicio = b.id)
INNER JOIN `sdspanel1`.`pdc_services_engy` c ON(c.accuont = b.account)
WHERE c.campus IS NOT NULL AND c.campus <> ''
AND a.period_end IS NOT NULL AND a.period_end <> ''
GROUP BY YEAR(a.period_end), c.campus, b.account, a.service, a.user
ORDER BY YEAR(a.period_end) ASC ;
Wählen Sie Ergebnisse jetzt: wieder
user service accounts EndYear SumConsumEngy SumCostEngy Campus
4 14 191,191 2012 9919293 33339493 cname1
4 23 238,388 2012 9283182 31931993 cname1
4 14 191,191 2013 999293 3939493 cname1
4 14 191,191 2013 991293 939493 cname1
4 23 238,388 2014 9183182 31432993 cname2
4 23 238,388 2012 9083182 31731993 cname2
4 14 191,191 2012 9999293 36539403 cname2
4 23 238,388 2013 9283182 32931923 cname2
4 14 191,191 2013 9919293 33039843 cname2
4 23 238,388 2014 9283182 31231993 cname2
mich besser erklären lassen oder so, im Grunde ist von Campus-Gruppe, "SUM"“ "oder durch eine andere Abfrage oder bedeutet die SumConsEngy und SumCostEngy, EndYear sollte" ORDERED BY YEAR (a.period_end) ASC ", SConsum #### und SCost #### sollte die neue Summe der Jahre auf dem entsprechenden Campus sein . Wenn ich die Abfrage versuche, nur nach "c.campus" zu gruppieren, werden nicht alle Jahre angezeigt.
Was für ich bitte, ist so etwas wie dieses:
user service accounts EndYear SumConsumEngy SumCostEngy Campus
4 snumbers acnumbers 2012 SConsum2012 SCost2012 cname1
4 snumbers acnumbers 2013 SConsum2013 SCost2013 cname1
4 snumbers acnumbers 2014 SConsum2014 SCost2014 cname1
4 snumbers acnumbers 2015 SConsum2015 SCost2015 cname1
4 snumbers acnumbers 2016 SConsum2016 SCost2016 cname1
4 snumbers acnumbers 2011 SConsum2011 SCost2011 cname2
4 snumbers acnumbers 2012 SConsum2012 SCost2012 cname2
4 snumbers acnumbers 2013 SConsum2013 SCost2013 cname2
4 snumbers acnumbers 2014 SConsum2012 SCost2012 cname2
4 snumbers acnumbers 2015 SConsum2012 SCost2012 cname2
4 snumbers acnumbers 2016 SConsum2012 SCost2012 cname2
und so weiter ...
Wenn Sie nicht nach Jahr gruppieren, wird das Jahr in den Ergebnissen ein (effektiv) zufälliges sein, das aus den Werten für die Felder ausgewählt wird, die nach Gruppen gruppiert sind. – Uueerdo
Bitte erklären Sie besser .. ich verstehe nicht gut Ihr Ziel .. Sie brauchen yoy Ergebnis jetzt von Jahr zu Jahr? – scaisEdge
Aktualisierte Frage –