我有两张桌子。

一个包含3列的默认数据(值是1或0)在同一表中是一个ClientID

另一个表包含带有日期,ClientID和名为“ Changed”的附加列的已编辑数据。

如果Changed = 1,则更改3列中的值,因此需要从第二个表中读取。

这项工作正常,但我想在php中进行报告,可以选择日期范围,查询应按ClientID分组,并在3列的所选日期范围中计数全1。 (每列分开)

诀窍是:当特定行中的Changed = 0时,它应检查默认值;如果Changed = 1,则应检查第二个表。然后用前几行计算。

我希望你理解我想要创造的东西

最佳答案

您可以从SQL使用IF函数

例如

SELECT SUM(IF(Changed=1, t1.col1, t2.col2)) FROM t1, t2 WHERE t1.id=t2.id


这是示例如何在SUM中使用列作为大小写

关于php - MySQL查询总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13816643/

10-10 23:20