簡體   English   中英

mysql將具有相同列值的兩行連接起來,並計算某些列值,並在一行中返回所有行

[英]mysql join two rows with same column value and calculate certain column values and return all rows in one row

我有一個表名稱agents_commission包含列id,agent_id,deal_id,佣金,deal_date。

agents_commission

我想選擇agent_id ,從agents_commission中選擇commission ,其中month( date_deal )='$ month'和year( date_deal )='$ year';

但是如果表中的某些行具有相同的agent_id則將同一行連接到同一行中,並像第1、2行一樣計算commission值,例如第66666.7 + 100000行

成為最終的fetch_assoc作為

array('agent_id'=> 1,'commision'=> 166666.7);

謝謝

嘗試使用分組依據和聚合:

select agentid, sum(commission) as commission
from agents_commission
where month(date_deal) = '$month' and year(date_deal) ='$year';
group by agentid

如果只想按一列(agentid)分組,則不能全部選擇。 你可以做下面的事情

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM