【发布时间】:2015-02-09 14:37:59
【问题描述】:
我必须计算与列 system_name 对应的每个不同的arrival_time(数据库表中的列)的总计数值之和。我的sql查询是:
SELECT system_name, COUNT(distinct arrival_time) AS c
FROM i2alarmlog
WHERE Ack_status = 0
AND Direction='CAME'
AND system_name in('I2-tciu database',
'i2-vcs logging',
'Indus1 Vacuum',
'Indus2 TCIU',
'Indus2 Vacuum',
'Septum_SIP2',
'TL3 Vacuum')
GROUP BY system_name
UNION ALL
SELECT 'sum' system_name,
Count(distinct arrival_time)
FROM i2alarmlog
WHERE Ack_status=0
AND Direction='CAME'
AND system_name in( 'I2-tciu database'
,'i2-vcs logging',
'Indus1 Vacuum',
'Indus2 Vacuum',
'Septum_SIP2',
'TL3 Vacuum')
当我运行这个 sql 查询时,总和显示为 1841,但实际上是 1845。
i2-vcs logging 2
I2-tciu database 2
Indus1 Vacuum 19
Indus2 TCIU 120
Indus2 Vacuum 1691
Septum_SIP2 8
TL3 Vacuum 3
sum 1841
【问题讨论】:
标签: sql-server aggregate-functions