php - 如何计算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列”或类似的东西。
解决方案
在 MySQL 中,布尔值在数字上下文中变为 0 或 1。因此,您可以添加表达式检查列是否等于 1。
SELECT (column1 = 1)
+ (column2 = 1)
+ (column3 = 1)
+ (column4 = 1)
FROM registers
WHERE id = ?;
推荐阅读
- sql - 获取两个不同的行,日期已终止
- javascript - Fabric.js 路径数组是否有大小限制?
- c - uint64_t 到 mpz_t 之间的转换
- spring-boot - Spring Boot HTML页面未呈现
- html - Apache & Laravel - 在不损失性能的情况下保护视频的最佳方法是什么?
- c - 如何修改一个常量字符串?
- r - 英特尔 MKL 致命错误:无法在 R 中加载 libmkl_avx2.so 或 libmkl_def.so
- java - 当按下返回按钮时,listview 会顶部。如何解决?
- python - client.get_bucket() 失败,但仅来自云数据流(计算引擎)
- rust - 反序列化以数组开头的 JSON 以与 restson 一起使用