当前位置: 首页 > 面试题库 >

mysql计数组

陶锋
2023-03-14
问题内容

我有这张桌子:

Movies (ID, Genre)

电影可以具有多种流派,因此ID并非特定于流派,而是多对多关系。我想要查询以找到正好具有4种流派的电影总数。我目前的查询是

  SELECT COUNT(*) 
    FROM Movies 
GROUP BY ID 
  HAVING COUNT(Genre) = 4

但是,这会返回4而不是总和的列表。如何获得总和而不是清单count(*)


问题答案:

一种方法是使用嵌套查询:

SELECT count(*)
FROM (
   SELECT COUNT(Genre) AS count
   FROM movies
   GROUP BY ID
   HAVING (count = 4)
) AS x

内部查询将获取所有具有完全4种类型的电影,然后外部查询将计算内部查询返回的行数。



 类似资料:
  • 问题内容: 我有一个像这样的mysql表: 当访问者访问该网站时,它将其访问者ID和页面ID存储为一行。 我试图提取恰好X次访问该网站的访问者数量。(用于图表)。因此有多少人只访问一页,有多少人访问了2页… 到目前为止,我有: 但是我不知道该如何进行计数。 可以作为mysql查询吗? 编辑: 我已经添加了答案。 问题答案: 我可以这样解决: 这一点很重要。

  • 问题内容: 我创建此代码是为了允许我计算表中的行数。但是,我无法返回计数的数字,并显示一条错误消息:“无法从结果类型为void的方法返回值”。有人可以告诉我我的错误在哪里吗?非常感谢! 问题答案: 尝试下面的代码 以下是错误 应该 要计算总行数,应使用查询 如有任何问题,请通知我。

  • 问题内容: 这两个查询在具有1000万行的表上运行缓慢。我想知道为什么为什么从mysql保留所有insert,update和delete更新的计数器变得不容易? 有没有办法改善这个查询?我使用了说明,但并没有太大帮助。 问题答案: 正如cherouvim在评论中指出的那样,它取决于存储引擎。 确实会保留表行的计数,并且由于MyISAM支持的唯一锁是表锁,因此可以保持准确。 但是支持事务,因此需要进

  • 表名称包含一列 目标是计算重复次数以得到以下结果 如何做到这一点?

  • 问题内容: 我有这样的桌子 而且我需要创建一个查询,该查询将像这样通过电子邮件计算所有重复项 问题答案: last()子句将选择范围限制为大于1的电子邮件计数,例如重复项。

  • 问题内容: 如何查询以获取字段中匹配单词的数量,特别是在MySQL中。我只需要获取“搜索字词”出现在字段值中的次数即可。 例如,值是“一二一二”,所以当我搜索单词“一”时,它应该给我3 是否有可能?因为当前我只是从数据库中提取值,并使用服务器端语言进行计数。 谢谢 问题答案: 您可以创建一个可直接在SQL中使用的函数,以便一步一步完成所有操作。 这是我在MySQL网站上找到的函数: 您应该像这样使