我正在编写一个简单的delphi表单来创建每日资产负债表,因此我使用的是一个DBGrid,其表格中的列包含: date,in,out ..我想要做的是按日期分组并计算每个日期的In和Out以便达到平衡。
示例:
1/01/2013 in (100) out (0),
1/01/2013 in (200) out (0),
1/01/2013 in (0) out (100),
我希望结果在(300)out(100)
中为1/01/2013任何帮助请将我的日期分组后出现问题。
答案 0 :(得分:3)
您不止一次使用聚合表达式(SUM
):
SELECT
YourDateField,
Sum(in) as InAmount,
Sum(Out) as OutAmount,
Sum(In) - Sum(Out) as Balance
FROM
YourTable
GROUP BY
YourDateField
输出:
YourDateField InAmount OutAmount
============= ======== =========
01/01/2013 300 100
将YourDateField
和YourTable
替换为日期列和实际表的名称,当然还有列别名(InAmount
,OutAmount
和{{1无论你喜欢什么。