[英]Select * and sum in mysql in a same query
我需要创建一个选择所有表列和新列“sum”的查询,如下所示:
SELECT *,
sum(amount) as `items_total`
FROM mytable
WHERE ...
有任何想法吗??
SELECT * , (SELECT sum(amount)
FROM mytable
WHERE ...) as `items_total`
FROM mytable
WHERE ...
按以下方式尝试 -
SELECT col1,
sum(amount) as items_total
FROM mytable
WHERE mycol = <condition>
GROUP BY col1;
您可以使用子选择来计算总和:
select t.*, (select sum(amount) FROM mytable) as `items_total`
from mytable t
将a,b,c和d视为表中的列名,并且colsum是该特定列的总和。
我认为这应该有效
select colname ,colsum from (select 'a' colname , sum(a) colsum from tablename union all select 'b' colname ,sum(b) colsum from tablename union all
select 'c' colname , sum(c) from tablename union all select 'd' colname , sum(d) colsum from tablename ) tablename where (condition) order by colsum asc;
如果您只需要表中所有列的列名,那么请使用。
SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='database_name' AND `TABLE_NAME`='table_name'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.