php - 如何汇总查询中的结果

标签 php mysql sql

我有以下查询:

SELECT cb.customers_id, cb.products_id, p.products_model, pd.products_name, cb.customers_basket_quantity, p.products_price, (p.products_price * cb.customers_basket_quantity) AS product_total
    FROM customers_basket cb, products p, products_description pd
    WHERE cb.customers_id =194075
        AND cb.products_id = pd.products_id
        AND p.products_id = pd.products_id

我试图弄清楚是否可以获得“cart_total”而无需执行其他查询,或使用 PHP 来保持运行总计。

我不确定是否可以使用 CASE 语句来做某事。

建议?

最佳答案

SELECT cb.customers_id, cb.products_id, p.products_model, pd.products_name, cb.customers_basket_quantity, p.products_price, (p.products_price * cb.customers_basket_quantity) AS product_total,

(SELECT sum(p.products_price * cb.customers_basket_quantity) 
FROM customers_basket cb, products p
WHERE cb.customers_id =194075
AND cb.products_id = p.products_id
group by cb.customers_id) AS cart_total

FROM customers_basket cb, products p, products_description pd
WHERE cb.customers_id =194075
AND cb.products_id = pd.products_id
AND p.products_id = pd.products_id

指向 Fiddle 的链接

关于php - 如何汇总查询中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18837462/

相关文章:

php - 迁移 - 自动创建数据库

PHP/MySQL/MariaDB - TINYINT 上的单引号与无引号;两台具有不同行为的服务器

mysql在类似操作中获得最大匹配

sql - 如何在 POSTGRES 中显示最后的查询?

php - pear 邮件错误

javascript - 将 JSON 数据从 php 传递给 html-data 属性,然后传递给 Javascript

php - SimpleHTMLDom : Call to a member function find() on array

mysql - 多个大型 MySQL SELECT 查询——最好并行运行还是在队列中运行?

mysql - 根据当前时间修改 MySQL 列

sql - 需要一个有创意的 SQL 查询::帮助