如何根据值比较SQL行并获得总和?

时间:2015-07-10 07:40:54

标签: php mysql

我正在尝试升级旧自定义电子商务系统。我正在尝试根据旧自定义系统创建的表(称为“old_table”)中的行来记录对项目所做的数量更改。我似乎无法解决这个问题。

当有人开始对系统中的项目进行更改时,它会在“old_table”中创建一个带有值的记录:

 Time                | User   | Current Qty | Status | Item
 -----------------------------------------------------------
 2015-07-09 05:30:47 | Admin  | 10          | Start  | ABC 1

当此人完成更改系统中项目的数量时,它会在“old_table”中创建一个包含以下值的记录:

 Time                | User   | Current Qty | Status | Item
 -----------------------------------------------------------
 2015-07-09 05:50:47 | Admin  | 09          | End    | ABC 1

---注意:遗憾的是,如果数量设置为“00”,则不会有“结束”条目。我已经猜到我会设置一个24小时的限制然后会考虑用户将其设置为“00”---

我的目标

在新表格中,我试图创建一行表明用户“管理员”减去/添加项目“ABC 1”的总共“X”,如果在24小时内没有“结束”行在给定项目的“old_table”内写一行,表明用户“Admin”将值设置为“00”。

任何人都有想法,建议或解决方案?我已经试了几个星期来解决这个问题。这不可能吗?

1 个答案:

答案 0 :(得分:0)

您使用mysql AND sql-server对此进行了标记。使用哪个系统/版​​本?

使用SQL-Server(> = 2008),您可以使用窗口函数(OVER子句:https://msdn.microsoft.com/en-us/library/ms189461.aspx),它可以为您提供分组计数,总和,平均值和其他聚合函数。