gpt4 book ai didi

php - mysql 选择不同的行,至少出现 (n) 次

转载 作者:行者123 更新时间:2023-12-01 00:18:03 25 4
gpt4 key购买 nike

<分区>

我是 SQL 的新手,我正在使用 MySQL,并且我有一个包含博客的表。在该表中,我有一个名为“blog_category”的列。我正在尝试从出现至少 (n) 次的 blog_category 返回 DISTINCT 值。示例:

    blog_category
-------------
category_1
category_1
category_2
category_3
category_3
category_4
category_4
category_1
category_1
category_2
category_2

我只想返回至少出现 3 次(大于或等于 3 次)的类别。

我可以使用 DISTINCT 关键字让它显示出现不止一次的那些,但我只想要实际出现超过指定次数的那些,在这种情况下只显示至少出现超过一次的那些3次。

所以在这种情况下,我只想返回“category_1”和“category_2”。

我尝试了很多方法,但似乎没有任何效果,我不断收到以下错误:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean
given in [FILE NAME OMITTED] on line 101

以下是我尝试过的一些方法:

$query = "SELECT DISTINCT blog_category 
FROM blog_posts
HAVING COUNT (blog_category) >= 3";

$query = "SELECT DISTINCT blog_category
FROM blog_posts
WHERE blog_category IN
(SELECT blog_category
HAVING (COUNT (blog_category) >= 3))";

$query = "SELECT DISTINCT blog_category
FROM blog_posts
WHERE blog_category
HAVING COUNT(blog_category) >= 3";

$query = "SELECT DISTINCT blog_category
FROM blog_posts
WHERE COUNT(blog_category) >= 3";

以下是来自其他用户的建议答案,我已经尝试过但没有成功......

$query = "SELECT blog_category 
FROM blog_posts
GROUP BY blog_category
HAVING COUNT(*) >= 3";

这里是正在运行的代码的完整部分(我直接在服务器的 SQL 测试部分进行了测试,它工作得很好,但是当我运行实际的完整代码时,它一直返回查询是错误的):

$query = "SELECT blog_category 
FROM blog_posts
GROUP BY blog_category
HAVING COUNT(*) > 2)";

$result = mysqli_query( $conn, $query );

if( mysqli_num_rows( $result ) > 0 ) {
while( $row = mysqli_fetch_assoc($result) ) {
echo "<ul>";
echo "<li>" . $row['blog_category'] . "</p>";
echo "</ul>";
}
}

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