小编Dus*_*ack的帖子

mysql选择distinct行,至少出现(n)次

我是SQL的新手,我使用的是MySQL,我有一个包含博客的表.在该表中,我有一个名为"blog_category"的列.我试图从blog_category返回至少出现(n)次的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
Run Code Online (Sandbox Code Playgroud)

我只想返回出现的类别,至少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 
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的一些事情:

$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 = …
Run Code Online (Sandbox Code Playgroud)

php mysql sql innodb

0
推荐指数
1
解决办法
248
查看次数

标签 统计

innodb ×1

mysql ×1

php ×1

sql ×1