MySQL 多重求和表

标签 mysql

来自以下 fiddle http://sqlfiddle.com/#!2/8f1d2/5我想将交叉表求和为下面的查询,但我遇到了 sale_event 的重复值的问题。你对此有什么想法吗?

SELECT
 a.province_id,
 SUM(a.sale_event) AS sale_eventTotal,
 SUM(d.order_fullpay) AS order_fullpayTotal
FROM
    san_activites a
LEFT JOIN
    sale_event_detail d
ON
    a.san_activity_id = d.san_activity_id
WHERE 
    a.entry_date BETWEEN '2014-7-1' AND '2014-7-30'
GROUP BY a.province_id

最佳答案

我能够得到我认为你想要的结果如下。结果返回
3 | 10
4 | 20

SELECT 
 SUM(a.sale_event) AS sale_eventTotal,
 SUM(d.order_fullpayTotal) AS order_fullpayTotal
FROM
    san_activites a
LEFT JOIN
    (select SUM(order_fullpay) AS order_fullpayTotal, san_activity_id from sale_event_detail group by san_activity_id) d
ON
    a.san_activity_id = d.san_activity_id
WHERE 
    a.entry_date BETWEEN '2014-7-1' AND '2014-7-30'
GROUP BY a.province_id

Fiddle

关于MySQL 多重求和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24900761/

相关文章:

mysql - 显示表中的所有列以及每列中填充记录的计数

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'id_cita' in 'field list'

mysql - 其他函数,如 FIND_IN_SET,它返回逗号分隔列表中可用的字符串数量

mysql - 使用错误的mysql配置重置root密码

java - MySQL 查询处理花费太长时间并抛出 "Communications link failure"

php - UTF-8贯穿始终

php - 在数据库中查找用户名并更改他的状态字符串

mysql - 删除列的内容

Mysql 函数 TO_SECONDS 不存在

mysql - 根据距离优化用户数据库搜索