gpt4 book ai didi

php - 如何计算表中的值并返回 true,仅当使用 php mysql 找到该值 5 次时

转载 作者:可可西里 更新时间:2023-11-01 08:24:06 27 4
gpt4 key购买 nike

我正在使用 PHP 和 MySQL 构建一个类似用户的系统。

这是我的 table

-------------- 
ID value
---------------
1 1
2 0
3 1
4 1
5 1
6 0

我正在尝试在 php 中编写一个 mysql 查询,如果总值计数大于 5,它只显示总值计数。即如果在表中找到超过 5 条记录,则只返回查询为真.

有人可以帮帮我吗?我已经尝试了很多东西。

这是我到目前为止尝试过的代码

 $query = "  SELECT COUNT(value) AS value,
CASE
WHEN value > 0 THEN value ELSE 0 END
FROM users
";

$query = $this->db->query($query);

$query->result_array();

if ($query->num_rows() > 0){

echo "more than 5 records are found";

}

谢谢

(编辑 - 使问题更清楚)

因此,如果我们查看下表(表 1),值 = 1 在表中出现了 6 次。所以查询应该返回 true。这是因为我正在尝试计算所有值,其中 value = 1,而不是 value = 0。如果 value = 1 出现 5 次或更多次,我只想返回查询。

TABLE 1 
--------------
ID value
--------------
1 1
2 0
3 1
4 1
5 1
6 0
7 1
8 1

如果我们查看下面的表 2,就会发现 value = 1 在该表中只出现了 2 次。所以我们将查询返回为 false,因为我们需要在表中找到 value = 1 超过 5 次才能返回 true。

TABLE 2 
--------------
ID value
--------------
1 1
2 0
3 1
4 0
5 0
6 0
7 0
8 0

我想在查询中实现这一点,而不是使用 php 在查询之外使用 if 语句。 即,if($results > 5) { return true}

谢谢

最佳答案

希望这对您有帮助:

可以使用count_all获取计数,然后获取用户记录

$count = $this->db->count_all('users');

if ($count > 5)
{
$query = $this->db->get('users');
$records = $query->result_array();
print_r($records);
}

关于php - 如何计算表中的值并返回 true,仅当使用 php mysql 找到该值 5 次时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51060459/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com