我有一个MySQL查询,如果内容包含数字1,我需要对列的内容进行SUM,
这就是我所拥有的,但TotalFails返回0
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" /> <!--50MB-->
</requestFiltering>
</security>
</system.webServer>
任何人都可以看到我出错的地方吗?
答案 0 :(得分:1)
请注意,Status
是reserved keyword,因此您可能希望在上述声明中将其更改为myStatus
之类的内容。
修改强>
根据您更新的问题,我会按如下方式重写您的查询(同样,通过将STATUS
替换为Status
来避开关键字myStatus
):
SELECT
d.SeqNo,
d.SeqText,
h.UniqueID,
h.SeqID,
h.Room,
SUM(h.myStatus) AS TotalFails
FROM ".$SequenceNo_default." d
LEFT
JOIN ".$Hist." h ON h.SeqID = d.SeqID
WHERE d.SeqActive = 1 AND DATE(CompStamp) BETWEEN DATE( '".$_SESSION['StartDate']."') AND DATE('".$_SESSION['EndDate']."')
GROUP BY h.Room, h.myStatus
ORDER BY h.myStatus ASC
作为单独的旁注,这应该是一个准备好的查询,而不是将$_SESSION
变量直接包含在字符串中。 $_SESSION
优于$_POST
或$_GET
,但为了维护代码,这将是一个好习惯(例如,如果代码稍后更改为$_POST
会怎么样?)