0

我正在计算今天在 mySQL 中添加的行数

mysql_query("SELECT COUNT(*) as total 
FROM track 
WHERE FROM_UNIXTIME(date,'%Y-%m-%d %h:%m:%s') > NOW() - INTERVAL 1 DAY");

这成功了。但是,我还想计算今天添加的行,其中包含一个大于“0”的数字在其名为“conv”的列中。

我试过了

mysql_query("SELECT conv,COUNT(*) as total
FROM track 
WHERE FROM_UNIXTIME(date,'%Y-%m-%d %h:%m:%s') > NOW() - INTERVAL 1 DAY");

但这不算。这样做的正确方法是什么?

4

2 回答 2

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() 将仅计算非空值。

于 2013-04-08T08:10:46.970 回答
0

我认为语法的使用CASE可能会有很大帮助

资源链接( source )

于 2013-04-08T08:09:50.780 回答