获得当年的总数 - SQL

时间:2013-01-22 15:19:19

标签: sql ms-access

我需要在访问数据库中使用SQL获取今年的总里程数。 目前我正在尝试以下查询,但它不起作用:

   SELECT 
      SUM(Mileage) 
   FROM 
      [Mileage-Expenses] 
   WHERE 
      YEAR(DatePurchased) = YEAR(CURRENT_TIMESTAMP)

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

基于WHERE的{​​{1}}子句要求db引擎评估表中每行的表达式。通过在YEAR(DatePurchased)上添加索引(如果您还没有),然后使用DatePurchased子句允许db引擎仅检索当前年份的行,您将获得更好的性能计算WHERE

SUM(Mileage)

答案 1 :(得分:1)

我很长时间没有使用MS Access,但据我记得它不支持CURRENT_TIMESTAMP,您需要使用DATE()或{{1}而不是:

NOW()

http://office.microsoft.com/en-gb/access-help/use-current-date-and-time-in-calculations-HP001098479.aspx