我有一张像这样的桌子:
-------------------------------
| NrOfVisitors | Year | Month |
-------------------------------
| 320 | 2009 | 1 |
-------------------------------
| 300 | 2009 | 2 |
-------------------------------
| 150 | 2010 | 1 |
-------------------------------
| 100 | 2010 | 2 |
-------------------------------
现在我想要计算访客,直到2010年的第一个月。 当我说:
SELECT SUM(NrOfVisitors) As TotalVisitors FROM VisitorTable WHERE YEAR <= 2010 AND Month <= 1
然后我没有得到访问量,因为它不计算2009年2月的访问者。所以我错过了300个访问者的查询。所以我需要的是一个查询来计算NrOfVisitors直到2010年1月
谁能帮助我/
提前致谢!
答案 0 :(得分:1)
试试这个:
SELECT SUM(NrOfVisitors) As TotalVisitors
FROM VisitorTable
WHERE Year * 12 + Month <= 2010 * 12 + 1
答案 1 :(得分:0)
只需删除: AND月&lt; = 1? 编辑:还可以: 年份&lt; = 2010年 至: 年份&lt; 2010年
这应该有用吗?
答案 2 :(得分:0)
在这种情况下,您只需使用OR
即可WHERE YEAR <= 2010 OR MONTH <= 1
更像一般的事情
WHERE YEAR < 2010 OR (YEAR = 2010 AND MONTH <=1)
答案 3 :(得分:0)
不应该是
SELECT SUM(NrOfVisitors) As TotalVisitors FROM VisitorTable WHERE YEAR <= 2010 AND Month >= 1
?
我刚刚将Month <= 1
更改为Month >= 1
,因为,2&gt; 1。
这样,如果您有更多的月份,并且如果您不希望它们被计算在内,您可以更改该约束以反映您想要计算的月数。
答案 4 :(得分:0)
SELECT SUM(NrOfVisitors)As TotalVisitors 来自VisitorTable 年份&lt; = 2010年 或(年份= 2010年和月份= 1)