0

我有一张这样的桌子:

在此处输入图像描述

表名是List。我必须得到每列的总和。我不能给出这个查询:

SELECT SUM(jayesh,murali,jins) from List;

因为列是动态添加的。列名作为用户输入给出。有没有其他代码可以做到这一点..?

4

2 回答 2

1

并不是说这是或不是一个好主意,因为没有提供上下文,但是......

所有记录的所有列的总和(整个表的总和):

SELECT SUM(jayesh+murali+jns)
FROM List

每条记录的所有列的总和(每行一个总和):( 此选项需要有一个 id 列作为分组依据,以便您可以确定如何对行进行分组)

SELECT
    ID,
    SUM(jayesh+murali+jns)
FROM List
GROUP BY ID

所有记录的每一列的总和(每列一个总和):

SELECT
    SUM(jayesh), 
    SUM(murali), 
    SUM(jns)
FROM List

我还建议在根据用户输入添加动态列时重新考虑您的设计。这通常不是一个好主意,当然不适合这种情况。在这里阅读更多:http: //www.sommarskog.se/dynamic_sql.html

于 2013-11-05T15:35:02.880 回答
1

如果您想要列中的总和:

SELECT SUM(jayesh), SUM(murali), SUM(jns) from List;
于 2013-11-05T15:30:27.370 回答