我有一个表名agents_commission
,具有列ID,agent_id,deal_id,佣金,deal_date。
我想从agent_id
中选择commission
,agents_commission
,其中month({date_deal
)='$ month'和year(date_deal
)='$年”;
但是如果表中的某些行具有相同的agent_id
,则将同一行合并为一行,并计算commission
值,如第1、2行中的66666.7 + 100000行
成为最终的fetch_assoc
array('agent_id'=> 1,'commision'=> 166666.7);
谢谢
答案 0 :(得分:2)
尝试使用分组和汇总:
awk -F, 'FNR==NR{a[$1];next}!($1 in a){print $1}' b.txt a.txt
答案 1 :(得分:2)
如果仅要按一列(代理ID)分组,则不能全部选择。您可以执行以下操作
select agent_id, sum(commission) as commission from temp where MONTH(deal_date) = '09' and year(deal_date) ='2018' group by agent_id;
GROUP BY子句中使用的SELECT语句只能包含列名,聚合函数,常量和表达式。
引用https://dev.mysql.com/doc/refman/5.5/en/group-by-modifiers.html