簡體   English   中英

SQL:函數Sum()的參數數量錯誤

[英]SQL: wrong number of arguments to function Sum()

我有一個包含很多列的數據集。 我需要做一Group By ID ,然后SUM在所有其他列(因此, ID必須不能聚合)。

這是我的代碼的一小部分示例:

import pandas as pd
import pandasql as ps

dt= {

"ID" : [1,2,1,4,2],
"A" : [2,3,4,5,6],
"B":[10,20,30,40,50],
"C": [100, 200, 300, 400, 500]
}

dt= pd.DataFrame(dt)

dt= pd.DataFrame(dt)

query = """ 
                    select ID,Sum(*)
                    from dt
                    group by ID
             """

polyps = ps.sqldf(query)

但是,它抱怨:

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) wrong number of arguments to function Sum()
[SQL:  
                    select ID,Sum(*)
                    from dt
                    group by ID
             ]

因此,正確的輸出是:

   ID  A    B    C
0   1  6   40  400
1   2  9   70  700
2   4  5  700  400

如果要分別匯總各列,則需要列出它們:

select ID, sum(a), sum(b), sum(c)
from dt
group by ID;

如果要在一列中將它們的總和:

select ID, sum(a) + sum(b) + sum(c)
from dt
group by ID;

*僅允許count(*)用於計數行。

從dt中將SELECT Id,(ISNULL(dt.val1,0)+ ISNULL(dt.val2,0)+ ISNULL(dt.val3,0))作為'Total'

錯誤“函數Sum()的參數數量錯誤”表示,而不是“ *”,您需要提及SUM中的字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM