繁体   English   中英

在同一查询中选择*并在mysql中求和

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM