如果数据类型相同,则对列数据求和

时间:2018-04-04 09:57:42

标签: mysql

我有一个带有表格结构的MySQL表,表名是提前的:

Column  Type    Null    Default
AdvanceID   int(11) No  
EmployeeID  int(11) Yes NULL
Amount  int(11) Yes NULL
Month   int(11) Yes NULL
Year    year(4) No  
Rule    tinyint(1)  Yes NULL
IsPaid  tinyint(4)  No  0
CreatedDate timestamp   No  CURRENT_TIMESTAMP
CreatedBy   int(11) No  1
UpdatedDate timestamp   Yes NULL
UpdatedBy   int(11) Yes NULL
IsActive    int(11) No  1
IsDeleted   int(11) No  0

在这里,作为贷款的预付款保存在一个单一的每个月扣除。 This is the screenshot of the data in the database

这是数据库中数据的屏幕截图 现在我需要的是,如果EmployeeID与Amount匹配,则应自动汇总到那些具有IsPaid 0的行。 我希望它作为查询输出。 我尝试使用DISTINCT(EmployeeID),但如果EmployeeID匹配,我无法对金额求和。 我需要这样做以优化我的工作并最小化我的服务器端代码。

2 个答案:

答案 0 :(得分:1)

我通过使用聚合函数和ORDER BY解决了这个问题:

SELECT EmployeeID, SUM(Amount) as Amount FROM advance WHERE IsPaid = 0 GROUP BY EmployeeID

答案 1 :(得分:0)

尝试使用此查询: -

SELECT  EmployeeID,SUM(Amount) as totalAmount 
FROM loan    // your tablename
WHERE isPaid=0
GROUP BY EmployeeID;