2012-04-06 31 views

Trả lời

10

tôi don 't biết tại sao bạn muốn điều đó nhưng cung cấp cho một thử này:

SELECT Col1, Col2 FROM tableName 
UNION 
SELECT 'SUM' as Col1, SUM(Col2) Col2 FROM tableName 
+0

tôi thấy những gì bạn đang nói về bạn không biết lý do tại sao tôi muốn sử dụng nó tuy nhiên điều này công trình, như tôi đã nói những gì im tìm kiếm là để hav tổng col2 ở dưới cùng của cột – dames

4
insert into table_name(col2) (select sum(col2) from table_name) as a 

cho tôi biết nếu làm việc này hoặc nort.

+1

Wow Cảm ơn bạn này làm việc – dames

3

Dưới đây là dữ liệu của bạn được nạp

mysql> use junk 
Database changed 
mysql> drop table if exists summation_trick; 
Query OK, 0 rows affected (0.04 sec) 

mysql> create table summation_trick 
    -> (
    ->  col1 varchar(20), 
    ->  col2 int 
    ->); 
Query OK, 0 rows affected (0.09 sec) 

mysql> insert into summation_trick values 
    -> ('Water',22 ),('water', 3 ), 
    -> ('water', 5 ),('Air' ,10 ), 
    -> ('Earth', 3 ),('Air' , 5 ); 
Query OK, 6 rows affected (0.05 sec) 
Records: 6 Duplicates: 0 Warnings: 0 

mysql> 

và đây là truy vấn thực hiện

mysql> select IFNULL(col1,'SUM') col1,sumcol2 
    -> from (select col1,col2,sum(col2) sumcol2 
    -> from summation_trick 
    -> group by col1,col2 
    -> with rollup) B 
    -> where (col1 is null and col2 is null) 
    -> or (col1 is not null and col2 is not null); 
+-------+---------+ 
| col1 | sumcol2 | 
+-------+---------+ 
| Air |  5 | 
| Air |  10 | 
| Earth |  3 | 
| water |  3 | 
| water |  5 | 
| Water |  22 | 
| SUM |  48 | 
+-------+---------+ 
7 rows in set (0.00 sec) 

mysql> 
+0

Tôi yêu 'rollup' và không có nhiều người sử dụng/biết về nó. –

Các vấn đề liên quan