mysql - 连接语句 MySQL 中的项目总和

标签 mysql sql join

我有三张表,一张用于用户,一张用于订单,最后一张包含订单商品。

我已经创建了一个 SQL 查询来获取所有订单并将用户加入到结果中,现在我想将订单项目加入到查询中。一个订单可以有多个订单项目。每个订单项目都有一个价格。我需要与 order_item 对应的所有 order_items 的总和。

所以我会得到如下所示的结果: id, order_id, userid, order_time, id, name, email, price

现在我的查询看起来是这样的:

SELECT huxwz_user_orders.*, huxwz_users.name, huxwz_users.email, huxwz_users.id, SUM(huxwz_user_orderitems.price)
FROM huxwz_user_orders
LEFT OUTER JOIN huxwz_users ON (
    huxwz_user_orders.userid = huxwz_users.id
)
LEFT OUTER JOIN huxwz_user_orderitems ON (
    huxwz_user_orders.id = huxwz_user_orderitems.orderid
)

事实是,SUM 是对所有订单项求和,这意味着我只得到一个结果:/

关于如何解决这个问题有什么想法吗?

最佳答案

SELECT huxwz_user_orders.*, huxwz_users.name, huxwz_users.email, huxwz_users.id, SUM(huxwz_user_orderitems.price)
FROM huxwz_user_orders
LEFT OUTER JOIN huxwz_users ON (
    huxwz_user_orders.userid = huxwz_users.id
)
LEFT OUTER JOIN huxwz_user_orderitems ON (
    huxwz_user_orders.id = huxwz_user_orderitems.orderid
)
Group BY huxwz_user_orderitems.orderid
ORDER BY huxwz_user_orders.id

我这样做了,它看起来完全符合我的要求,感谢您提供的分组信息,它成功了! :3

关于mysql - 连接语句 MySQL 中的项目总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19008697/

相关文章:

android - ToggleButtons 的 SQLite Dynamic where-clause

mysql - 如何创建一个子查询而不是联合查询

c# - CLR Stored Procedure需要一个Sql Server执行线程

mysql - 将多列 MySql 记录转换为响应式显示

php - SQLSTATE[HY000] [2002] 资源暂时不可用 - mysql - innodb 和 pdo

php - 在 MySQL 中设置名称 utf8?

sql - 如果数据库不存在则创建数据库

sql - 为什么 SQL 连接在 Oracle 中失败?

mysql - Sql 'LEFT JOIN' 两个表,每个表都有 'Where' (不是连接条件)

mysql - WHERE 条件内子查询的总和