Mysql 可以执行“求和”子查询,或者应该执行什么操作?
我试图通过这个查询得到一些结果,问题是当我尝试使用c.campus的GROUP BY而不使用YEARa.period\u end时,显然得到了按校园分组的结果,再加上像2012年、2013年、2014年、2015年那样对结果进行适当排序,问题是年终混合,而不是显示所有年份。。。提前谢谢 现在查询: 让我更好地解释一下,基本上是按校园分组,再次求和或通过任何其他查询或方法求和,Sumcensengy和SumCostEngy,EndYear应按YEARa排序。period_end ASC、SConsum和SCost应为对应校园的新的年数总和。当我尝试我的查询时,只按c.campus分组,它不会显示所有年份 我要求的是这样的:Mysql 可以执行“求和”子查询,或者应该执行什么操作?,mysql,sql,Mysql,Sql,我试图通过这个查询得到一些结果,问题是当我尝试使用c.campus的GROUP BY而不使用YEARa.period\u end时,显然得到了按校园分组的结果,再加上像2012年、2013年、2014年、2015年那样对结果进行适当排序,问题是年终混合,而不是显示所有年份。。。提前谢谢 现在查询: 让我更好地解释一下,基本上是按校园分组,再次求和或通过任何其他查询或方法求和,Sumcensengy和SumCostEngy,EndYear应按YEARa排序。period_end ASC、SCons
等等……您是否希望从您的分组中删除b.account、a.service、a.user,或者使用GROUP\u CONCATDISTINCT b.account。如果您不按年份分组,结果中的年份将是从分组依据的字段遇到的值中有效地随机选择的年份。请更好地解释。。我不太明白你的目标。。你现在需要年度结果吗?要试试你的答案吗
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
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