我試圖用這個查詢得到一些結果,問題是當我嘗試使用沒有YEAR(a.period_end)的「GROUP BY c.campus」時,很明顯得到了按校園分組的結果,並且正確地對它們進行排序比如「2012,2013,2014,2015」,問題是EndYear混合,不是所有年份都顯示...提前致謝。有可能做一個「SUM」子查詢或應該做什麼?
查詢現在:
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 ;
現在選擇結果:
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
讓我解釋一下更好左右,基本上是按校園, 「SUM」,「再「或通過任何其他查詢或方法,SumConsEngy和SumCostEngy,EndYear應該」按年排序(a.period_end)ASC「,SConsum ####和SCost ####應該是到相應校園的新年數。當我嘗試查詢我的時候,只按「c.campus」進行分組,它並沒有顯示所有年份。
我問什麼是這樣的:
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
等等...
如果不按年份分組,則結果中的年份將是從所分組字段中遇到的值中選出的一個(有效)隨機數。 – Uueerdo
請更好地解釋..我不明白你的目標..你現在需要按年結果嗎? – scaisEdge
更新的問題 –