Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在同一查询中选择*并在mysql中求和_Php_Mysql_Sql - Fatal编程技术网

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

Php 在同一查询中选择*并在mysql中求和,php,mysql,sql,Php,Mysql,Sql,我需要创建一个选择所有表列和新列“sum”的查询, 大概是这样的: SELECT *, sum(amount) as `items_total` FROM mytable WHERE ... 有什么想法吗???按照下面的方法尝试- SELECT col1, sum(amount) as items_total FROM mytable WHERE mycol = <condition> GROUP BY col1;

我需要创建一个选择所有表列和新列“sum”的查询, 大概是这样的:

SELECT *, 
       sum(amount) as `items_total` 
  FROM mytable 
 WHERE ...
有什么想法吗???

按照下面的方法尝试-

  SELECT col1,
         sum(amount) as items_total 
    FROM mytable 
   WHERE mycol = <condition> 
GROUP BY col1;
选择col1,
项目合计金额
从mytable
其中mycol=
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' 

您将要根据某个内容对
分组。Item\u total是表中所有行的总和,或者……您好,col1是什么?我需要我所有的列,我有30多行。这不会对所有行求和,至少我认为这是我需要的。谢谢,这正是我想要的needed@pey22你能把答案标为正确吗?谢谢
 SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='database_name' AND `TABLE_NAME`='table_name'