我有一个这样的SQL语句:
$stmtTHIS = $db->query("SELECT titel, done_date FROM task WHERE project = $tID ");
如何找出“done_date”中有多少行的内容?
答案 0 :(得分:2)
首先,您必须定义“有内容”的含义,然后编写一个WHERE子句来查找它们。并使用COUNT函数计算返回的行数。所以我们说“有内容”意味着该字段不为空。
SELECT COUNT(*) FROM task WHERE project = $tID AND done_date IS NOT NULL
这将计算具有该项目ID的所有记录,并具有done_date的值。
您可能还想检查done_date是否没有其他空值如空字符串或0。
AND done_date != "" AND done_date !=0
替代:
使用您需要的查询来获取所有这些行,然后在PHP中进行计数:
$stmtTHIS = $db->query("SELECT titel, done_date FROM task WHERE project = $tID ");
$count = 0;
while($row = $stmtTHIS->fetchAssoc()){
//You probably want to do other stiff with the data
if( !empty($row['done_date']) ){
$count++;
}
}
echo $count;
您的代码可能略有不同,具体取决于您使用的数据库库(我假设为mysqli)