我有一张这样的桌子:
表名是List
。我必须得到每列的总和。我不能给出这个查询:
SELECT SUM(jayesh,murali,jins) from List;
因为列是动态添加的。列名作为用户输入给出。有没有其他代码可以做到这一点..?
并不是说这是或不是一个好主意,因为没有提供上下文,但是......
所有记录的所有列的总和(整个表的总和):
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
如果您想要每列中的总和:
SELECT SUM(jayesh), SUM(murali), SUM(jns) from List;