在SQL SUM expr中可以做什么?

时间:2017-11-15 20:43:38

标签: mysql sql mariadb

SQL SUM函数的documentation列出了其"签名"像这样:

SUM([DISTINCT] expr)

expr列出的唯一示例是单列名称(例如unitsprice等),但是可以使用更多吗? expr听起来非常广泛和开放......

我特别感兴趣的是,它是否可以选择什么样的总和。例如,我现在非常想做以下事情:

SELECT
    SUM(hours) 'Hours total',
    SUM(hours WHERE date BETWEEN '2017-10-01' AND '2017-10-31') 'Hours last month'

但那并不是...... expr梦想可能过多,但也许......?也许不是吗?

使用SUM功能可以做到这一点吗? expr可以做什么?

1 个答案:

答案 0 :(得分:0)

也许您可以使用以下查询:

SELECT
SUM(hours) 'Hours total',
SUM( CASE WHEN date BETWEEN '2017-10-01' AND '2017-10-31' 
THEN hours 
ELSE 0 END) 'Hours last month'
from table