select count(*)和count(*)其中column在单个查询中不为null

时间:2014-05-19 11:18:54

标签: mysql sql database

我有两个表员工和商店员工将分配某些商店他的职责是填写商店表中的商店地址我在db中有大约40 k商店

我希望得到所有商店的数量和地址填充的商店数量。

$sql = "select count(*) from stores";

上述查询将返回所有存储的计数,如何在同一查询中获取地址填充存储的数量,而不是

$sql = "select count(*) from stores where address is not null"

2 个答案:

答案 0 :(得分:5)

您似乎是SQL新手。您可以使用COUNT()轻松计算列的非NULL值:

select count(*), count(address)
from stores;

祝学习SQL。

答案 1 :(得分:1)

使用sum()代替count()

试试:

 select count(*) as count_all , SUM(if(address is not null, 1, 0)) AS count2 
 from stores