在MySQL中-使用SUM或COUNT有什么区别?
SELECT SUM(USER_NAME = 'JoeBlow')
SELECT COUNT(USER_NAME = 'JoeBlow')
第一个查询返回条件为true的次数,因为true
is1
和false
is 0
。
第二个查询返回完整的记录计数,因为count()
它不关心其中的内容,只要该内容不是NULL。因为count(1)
和count(0)
仍然是值,并且都被计算在内。
要获得第二个查询的正确返回值,您必须使条件的结果null
(而不是0
)不被计算在内。像这样:
SELECT COUNT(case when USER_NAME = 'JoeBlow' then 'no matter what' else NULL end)
from your_table
或者直接else
从case
自动删除零件的语句中删除else
零件null
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句