我正在计算今天使用
在mySQL中添加的行mysql_query("SELECT COUNT(*) as total
FROM track
WHERE FROM_UNIXTIME(date,'%Y-%m-%d %h:%m:%s') > NOW() - INTERVAL 1 DAY");
这很有效。但是,我还想计算今天添加的行,其中包含一个名为“conv”的列中大于“0”的数字。
我试过了
mysql_query("SELECT conv,COUNT(*) as total
FROM track
WHERE FROM_UNIXTIME(date,'%Y-%m-%d %h:%m:%s') > NOW() - INTERVAL 1 DAY");
但它没有计算在内。这样做的正确方法是什么?
答案 0 :(得分:2)
这将计算行和conv大于零的行:
SELECT
COUNT(*) AS total,
COUNT(CASE WHEN conv THEN 1 END) AS total_conv_greater
FROM
...
如果conv> 0 CASE WHEN将返回非Null值,否则它将返回Null,而COUNT()将仅计算非空值。
答案 1 :(得分:0)
使用CASE
语法可能是一个很好的帮助我认为
资源链接(source)