我正在尝试编写一个可以计算连接表和特定列值的查询,但我无法理解它是如何工作的。
我的知识仅限于思考如果我想算一切,它会是这样的。
"SELECT COUNT(*) FROM 'table'";
因此,这实际上将返回该特定表中所有行的计数。但是我需要特定表中的特定行,那么我该如何计算相同的数量?
例如我有这个。
SELECT u.ID AS id, u.user_login AS login, u.user_email AS email
, m_firstname.meta_value AS first_name
FROM users u
LEFT JOIN usermeta m_firstname ON m_firstname.user_id = u.ID
AND m_firstname.meta_key = 'first_name'
从上面的语句中我除了通过数组循环外,我怎么算数呢?是否有可用于解决此问题的MYSQL语法?
*以上示例代码仅用于说明我要做的事情,可能不是完全正常工作的代码。
答案 0 :(得分:0)
如果您想统计所有用户,可以在此处使用COUNT(1)
。如果您要计算特定列的NON-NULL
值的数量,请使用COUNT(columnName)
SELECT COUNT(m_firstName.user_id)
FROM users u
LEFT JOIN usermeta m_firstname ON m_firstname.user_id = u.ID
AND m_firstname.meta_key = 'first_name'
以上查询将统计与m_firstName.user_id
为NOT NULL