请假定这是表格表——schemeOverview
| slno |schemename | amount| date2 | date3 | date4 ...daten |
|---------|-----------|-------|-------|-------|-------|----------|
| 1 | Cell | 1000 | DUE | DUE | | |
| 2 | Cell | 1000 | PAID | PAID | | |
| 3 | Cell | 1000 | DUE | DUE | DUE | |
| 4 | Cell | 1000 | PAID | PAID | | |
| 5 | Cell | 1000 | DUE | DUE | | |
我试图计算有价值的字段为'PAID'的数量。例如,slno-2的PAID计数应该是2。
每个表的日期列数不同,但我有一个表的日期列数。因此,更好的选择是检查指定行的所有字段(slno)
可以使用以下代码
SELECT slno,count(*) AS paid
FROM schemeOverview
WHERE 'PAID' IN (date2, date3, date4,...,daten)
在经历了大量的人才流失之后,我想出了这个方法,它很有效!
$paidCount=0;
$sql2 = "SELECT * FROM " .$scheme_name. " WHERE slno = " .$recBookNo;
$result2 = mysqli_query($conn,$sql2);
if($result2)
{
while ($row19 = $result2->fetch_assoc())
{
foreach ($row19 as $key => $value)
{
if(($value)=='PAID')
{
$paidCount++;
}
}
}
}
您可以使用count()
SELECT count(date2) as cd2 FROM schemeOverview WHERE date2 = "PAID"
将值存储到cd2中,在本例中为2