$sql_d = Db::field("uid,sum(zje) zje,count(*) pjrow")
->name("wxsonpj")
->where([['id','>',0],['uid','>',0],['valid','=',0]])
->group("uid")
->unionAll(function ($query){
$query->field("uid,sum(gsf) zje,'' as pjrow")
->name("wxsonxm")
->where([['id','>',0],['uid','>',0],['valid','=',0]])
->group("uid");
})
->buildSql();
echo $sql_e = Db::view($sql_d)
->field("uid,round(sum(zje),0) zje,sum(pjrow) pjrow")->alias("d")
->group("uid")->fetchSql()->select();打印后的sql SELECT .*,uid,round(sum(zje),0) zje,sum(pjrow) pjrow FROM ( SELECT uid,sum(zje) zje,count(*) pjrow FROM `dj_wxsonpj` WHERE `id` > 0 AND `uid` > '0' AND `valid` = 0 GROUP BY `uid` UNION ALL ( SELECT uid,sum(gsf) zje,'' as pjrow FROM `dj_wxsonxm` WHERE `id` > 0 AND `uid` > '0' AND `valid` = 0 GROUP BY `uid` ) ) `d` GROUP BY `uid`确实是我想要的格式,但是为什么非要默认一个.*,就算给个空格,也会前置一个. (空格),没法取消掉吗 最佳答案