我正在尝试将m_z_analytics中的coins
求和,但将这些值替换为cpc
。
例如:
0.01-> 0.09
0.1-> 0.1
0.08-> 0.09
0.1-> 0.1
site
的编号必须与id
中的m_b_browsing_live
相同。使用的ID必须为:1,2
(请参见下面的结果)。
表格:
m_z_analytics
id|site_id|coins|
1| 1| 0.01|
2| 2| 0.1|
3| 1| 0.08|
4| 2| 0.1|
3| 3| 0.2|
m_b_browsing_live
id| cpc|
1|0.09|
2| 0.1|
3| 0.5|
最终结果应为: 0.38 (0.09 + 0.1 + 0.09 + 0.1)
到目前为止,我已经尝试过:
SELECT SUM(a.coins) AS money FROM m_z_analytics a
LEFT JOIN m_b_browsing_live b ON b.id=a.site_id
WHERE CONCAT(',', `a.site_id`, ',') REGEXP ',(1|2),' AND a.coins=b.cpc
SELECT ROUND(SUM(a.coins),2) AS money FROM m_z_analytics a
LEFT JOIN m_b_browsing_live b ON b.id=a.site_id
WHERE a.site_id IN(1,2) AND a.coins=b.cpc;
答案 0 :(得分:0)
您应该求和b.cpc
,而不是a.coins
。而且您不应该在a.coins = b.cpc
子句中使用WHERE
,因为它们通常并不相等(如果相等的话,就不需要联接另一个表)。
SELECT SUM(b.cpc) AS money
FROM m_z_analytics AS a
JOIN m_b_browsing_live AS b on a.site_id = b.id
WHERE a.site_id IN (1, 2)