MySQl SUM列内容,如果内容为" 1"

时间:2017-02-06 22:02:19

标签: mysql

我有一个MySQL查询,如果内容包含数字1,我​​需要对列的内容进行SUM,

这就是我所拥有的,但TotalFails返回0

<system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="52428800" /> <!--50MB-->
      </requestFiltering>
    </security>
  </system.webServer>

任何人都可以看到我出错的地方吗?

1 个答案:

答案 0 :(得分:1)

请注意,Statusreserved 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会怎么样?)