一旦PDO查询获取已知字段值?

时间:2014-03-18 06:39:21

标签: php pdo

我的设置表有setactive(字段),其中包含2个已知值:0或1

如何通过一个查询对字段setsactive get: 计算值为" 0"并计算值为" 1"

的行
$stmt = $conn->prepare('SELECT setsid, setsname, setsactive, setstype
FROM settings WHERE setsactive = ?');
$setsactive = 0;
$stmt->bindValue(':setsactive', $setsactive, PDO::PARAM_INT);
$stmt->execute();   
echo $rows_set_active = $stmt->rowCount();
$setsactive1 = 1;
$stmt->bindValue(':setsactive', $setsactive1, PDO::PARAM_INT);
$stmt->execute();   
echo $rows_set_deactive = $stmt->rowCount();

感谢

更新了>删除第二个查询

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

SELECT
    setsactive,
    COUNT(1) AS totalCount
FROM settings
GROUP BY setsactive

SELECT
    setsactive,
    SUM( IF(setsactive = 1, 1, 0) ) AS activeCount,
    SUM( IF(setsactive = 0, 1, 0) ) AS deactiveCount
FROM settings

答案 1 :(得分:1)

SELECT setsactive, count(*) cnt FROM settings GROUP BY setsactive

- 如果您坚持完全错误计算方式 - 您可以在一次通话中运行这两个错误的查询。满意吗?