SQLsumselect返回null

我想使用SELECT SUM运算符从 MySQL 数据库中获取未读消息数。

所以,我的 SQL 是:

SELECT sum(status_field = 'new') unreadMessagesCount
FROM messages
WHERE 'author_uid' = 'authorUID'

它返回NULL为什么?

我在数据库中有项目,我可以通过 ( SELECT * FROM messages)选择它

回答

它返回NULL是因为您正在比较strings而不是

WHERE 'author_uid' = 'authorUID'

并且这两个字符串不相等。因此,所有行都被过滤掉了。该NULL值是因为您有一个聚合查询。 当此类查询中没有行时SUM()返回NULL

我不确定你的意图。也许:

WHERE author_uid = 'authorUID'

但是,'authorUID'对于 a 似乎是一个奇怪的值uid。您需要在那里放置一个适当的值。如果是字符串,则将其括在单引号中。如果是数字,请不要使用单引号。


以上是SQLsumselect返回null的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>