MySQL:在一列中选择多个列和总和

时间:2013-07-17 07:31:46

标签: php mysql select query-optimization

我的表格如下:

-----------+------|
product_id |price |
-----------+------|
  1        + 5    |
-----------+------|
  2        + 15   |
-----------+------|
  3        + 25   |
-----------+------|

我需要输出如:

-----------+------|
product_id |sum   |
-----------+------|
  1        + 45   |
-----------+------|
  2        + 45   |
-----------+------|
  3        + 45   |
-----------+------|

我当前的查询:

 SELECT  product_id, (SELECT SUM(price) FROM tableName) `sum` FROM  tableName.

是否可以在不使用2个SELECT查询或GROUP_CONCAT的情况下执行此操作? 请帮忙。

提前致谢!

注意:我的表中有数千行,并且会在此查询中添加更多条件(包括其他表数据)。

5 个答案:

答案 0 :(得分:0)

选择a.product_id,sum(b.price)FROM product_table AS a.pricetable AS b

答案 1 :(得分:0)

只需使用group by。

 SELECT 
product_id, (SELECT SUM(price) FROM tableName) `sum` 
FROM  
tableName 
group by .

答案 2 :(得分:-1)

使用如下查询:

SELECT *, sum(price) AS sum FROM table WHERE condition = value

答案 3 :(得分:-1)

您可以尝试此代码

select product_id, (select sum(price) from PRODUCTS) as sum FROM products

答案 4 :(得分:-1)

SELECT product_id , sum(price) AS sum FROM table WHERE condition = value

尝试不在select语句中使用子查询。