首页 > 解决方案 > 如何计算Mysql中特定行中具有相同值的列?

问题描述

我需要计算特定行(250)中具有特定值(1)的列数。根据查询,行的值是可变的。

我尝试了下面的代码,但是没有用。

$total_r = mysqli_query($con, "SELECT * FROM registers WHERE ID = '$ID' AND 1 IN (column1, column2, column3, column4)";
$total = mysqli_num_rows($total_r);
echo $total;

我需要将结果作为数字,让我们说“2列”或类似的东西。

标签: phpmysqlsql

解决方案


在 MySQL 中,布尔值在数字上下文中变为 0 或 1。因此,您可以添加表达式检查列是否等于 1。

SELECT (column1 = 1)
       + (column2 = 1)
       + (column3 = 1)
       + (column4 = 1)
       FROM registers
       WHERE id = ?;

推荐阅读