MySQL:在一列中选择多列和总和
Posted
技术标签:
【中文标题】MySQL:在一列中选择多列和总和【英文标题】:MySQL: Select multiple columns and total sum in one column 【发布时间】:2013-07-17 07:31:46 【问题描述】:我有一张这样的桌子:
-----------+------|
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 的情况下做到这一点? 请帮忙。
提前致谢!
注意:我的表中有数千行,并且更多条件(包括其他表数据)将添加到此查询中。
【问题讨论】:
向我们展示您现在的查询是什么以及您尝试将总和放入您的数组中。 问题已更新。请检查。 【参考方案1】:只需使用 group by。
SELECT
product_id, (SELECT SUM(price) FROM tableName) `sum`
FROM
tableName
group by .
【讨论】:
【参考方案2】:使用这样的查询:
SELECT *, sum(price) AS sum FROM table WHERE condition = value
【讨论】:
这将只返回一行。【参考方案3】:SELECT product_id , sum(price) AS sum FROM table WHERE condition = value
尽量不要在 select 语句中使用子查询。
【讨论】:
这将只返回一行。【参考方案4】:你可以试试这个代码
select product_id, (select sum(price) from PRODUCTS) as sum FROM products
【讨论】:
你能在不使用 2 个选择查询的情况下产生相同的输出吗? 感谢您的回复!以上是关于MySQL:在一列中选择多列和总和的主要内容,如果未能解决你的问题,请参考以下文章