按组的 SQL 计数

2024-03-26

我必须遵循架构

Movie(mvID, title, rating, year)
Director(directorID, firstname, lastname)
Genre(mvID*, genre)
Direct(mvID*, directorID*)

我需要知道导演大多数喜剧类型电影的导演,并输出他们的详细信息以及他们制作的该类型电影的数量。

所以我有

SELECT Director.DirectorID, Director.FirstName, Director.LastName, COUNT(*)
FROM Direct, Genre, Director
WHERE Direct.mvID = Genre.mvID
AND Genre.genre = 'Comedy'
AND Direct.DirectorID = Director.DirectorID
AND COUNT(*) > ALL
GROUP BY Director.DirectorID, Director.FirstName, Director.LastName
ORDER by COUNT(*) DESC

但我收到一个 group function not allowed 错误。


下面的 SQL 可以解决您的问题:

SELECT      Director.DirectorID, Director.FirstName, Director.LastName, COUNT(*)
FROM        Direct, Genre, Director
WHERE       Direct.mvID = Genre.mvID
AND     Genre.genre = 'Comedy'
AND     Direct.DirectorID = Director.DirectorID
AND     rownum = 1
GROUP BY    Director.DirectorID, Director.FirstName, Director.LastName
order by    COUNT(*) DESC

具体来说,这会连接表格并计算每个导演执导的“喜剧”类型电影的电影数量。然后,它按计数降序对行进行排序并获取第一行。

请注意,您有两个许多许多关系,因此如果您不仅仅看喜剧(即,如果您跨多种类型运行此内容),您可能必须使用不同的技术(即多个临时表或类似的虚拟聚合)为了不在你的 SQL 中出现重复计算......

另请注意,如果两位导演拥有相同数量的此类电影,则只会带回一行。如果您希望返回具有相同喜剧数量的所有导演,则必须稍微修改 sql。

干杯, 诺亚·沃洛威克

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按组的 SQL 计数 的相关文章

  • Oracle:SQL 选择带时间戳的日期

    我有以下数据 SQL gt select from booking session BK ID BK DATE 1 18 MAR 12 10 00 00 000000 2 18 MAR 12 10 25 00 000000 3 18 MAR
  • 在 SQL 查询中使用聚合函数

    我的表结构是这样的 ATT Table Fields Act ID Assigned To ID Percent Complete Integer value Act ID is primary key Assigned To ID is
  • postgres union 是否保证调用有副作用的函数时的执行顺序?

    我正在使用 postgres 9 3 并尝试确保从 sql 语句调用时按顺序调用存储过程 以下操作是否有效 确保首先调用 foo 然后调用 bar select null void from select 1 from foo union
  • 按“计数(列不为空)”排序

    我正在寻找一种方法 通过值不为空的列的计数来对 MySQL 结果进行排序 所以 id 1 1 0 1 1 4 id 0 1 1 1 0 3 id 0 0 0 1 1 2 id 1 0 0 0 0 1 在上面的例子中 我忽略了 ID 列 但实
  • 多列条件计数 SQL

    我正在尝试计算连续 4 个单独列中的不同条目 然后对结果求和 例如 表头看起来类似于 ID Col1 Col2 Col3 Col4 每列 保存 ID 可以有一个文本值 W X Y 或 Z 列可以有相同的值 我想做的是找出一种方法来计算列中的
  • 如何将H2数据库文件存储到项目目录中

    当我使用H2数据库时 数据库文件存储在C Users MyName TestDataBase db目录 H2路径是jdbc h2 TestDataBase 这是默认的 H2 数据库路径 是否有可能像这样将 H2 数据库文件存储到我的项目目录
  • 通过存储过程将记录传输到目标表后,从源表中删除记录

    这是我在 user75ponic 的帮助下生成的存储过程 CREATE OR REPLACE PROCEDURE ARCHIVE DATA AS BEGIN MERGE INTO Schema2 table trg USING SELECT
  • 使用 PostgreSQL 查找并删除重复行

    我们有一个包含以下列的照片表 id merchant id url 该表包含组合的重复值merchant id url 因此 一行可能会出现多次 234 some merchant http www some image url com a
  • 当所有子记录满足条件时仅选择父记录

    我有两个表 A 和 B 当所有子项 表 B 中 满足条件时 我只需要父项 A 的行 如果 B 中的一行不符合条件 那么我不需要父 A 的行 我想我需要在这里使用存在 但不展示如何使用 以下是数据表 Table A Primary Key L
  • 选择 PostgreSQL 中的临时表? [复制]

    这个问题在这里已经有答案了 如何在 PostgreSQL 中使用 select into 创建临时表 例如在 SQL 中Select into temp tab from source tab 您可以尝试使用创建表为 http www po
  • Oracle 日期索引很慢。没有它查询速度快 300 倍

    我有一个 Oracle 查询 如下所示 运行时间为 10 分钟或更长时间 select r range text as duration range nvl count c call duration 0 as calls nvl SUM
  • 我怎样才能从表中获得第一个免费ID

    我有一个带有主键字段 ID 的表 我不想使用身份 因为我需要为用户提供手动为新对象选择 ID 的可能性 所以我的想法是 默认情况下 在编辑视图中 ID 字段将为 0 如果用户不更改它 我需要找到第一个免费ID并使用它 如果用户更改 ID 我
  • 从函数调用动态 SQL

    我正在编写一个返回表的函数 有两个参数传递给该函数 并构建并执行查询并将其插入到返回的表中 但是我收到这个错误 只能从函数内执行函数和一些扩展存储过程 我不想使用存储过程 因为这是一个简单的实用函数 有谁知道这是否可以做到 我的函数编码如下
  • 查找分区内最大的连续数字组

    我有以下按player id 和match date 排序的数据 我想找出连续运行次数最多的记录组 从2014 04 03到2014 04 12连续3次运行4次 player id match date runs 1 2014 04 01
  • Android 上的查询何时返回 Null?

    我似乎没有找到任何有关查询 插入或任何其他返回 null 的 SQL 方法的信息 但如果发生错误 它就会发生 我只是想知道游标为空是否意味着发生了错误 或者是否意味着没有选择任何行 例如 我不知道应该如何对待它 作为一个错误或可能不时发生的
  • 检索多行最后插入的 id

    当将数据插入具有自动递增 PK 的表时 我需要获取该密钥以在另一个语句中使用 正如许多问题所示 这可以在 PHP 中使用mysql insert id 但是 我一直将插入内容分组在一起 因此一次插入不止一行 我这样做是因为我猜测可能会存在一
  • ORA 00904 错误:无效的标识符

    我已经在虚拟 XP 中安装了 Oracle 10g 并使用以下命令创建了一个表 create table reg1 fname varchar2 30 lname varchar2 30 addr varchar2 30 mail varc
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT
  • 将 SQL 依赖关系与 Azure 结合使用

    在我的本地数据库中 Sql 依赖关系工作正常 但是当我迁移到 Azure 数据库时 它就不起作用了 我检查服务代理是否已启用 并且它已激活 这是错误 此版本的 SQL Server 不支持语句 RECEIVE MSG 这是我的代码 publ
  • 基于 MySQL 中的另一列创建计算列

    我的表中有 2 列 varchar 8 and an int 我想要auto increment the int column当我这样做时 我想将值复制到varchar 8 column 但用 0 填充它直到它达到 8 个字符长 因此例如

随机推荐

  • NameError:未定义全局名称“numpy”

    我正在尝试通过收集 essentia 一个 MIR 库 函数来编写一个特征提取器 流程图如下 单独的特征提取 池化 PoolAggregator 使用poolAggregator连接形成整个特征列表np concatenate 即使不导入
  • 如果屏幕上显示多个二维码,请扫描二维码

    我正在开发一个Android示例应用程序作为一个学术项目 我需要扫描二维码 我使用了二维码扫描库 如果屏幕上只有一个二维码 我能够成功检测到二维码 是的 我想扫描二维码 尽管相同的二维码一次显示在屏幕上的多个位置 例如 在我的笔记本电脑屏幕
  • Nginx:何时使用 proxy_set_header 主机 $host 与 $proxy_host

    我一直在阅读反向代理 想知道什么时候proxy set header Host host是适当的proxy set header Host proxy host 我做了一些研究本文 https www digitalocean com co
  • 在强制布局上拖动会阻止其他 mouseup 侦听器

    我想在 d3 js 强制布局中启用拖动 当拖动一个圆圈并释放鼠标按钮时 我想通过回调调用特定的函数 如下所示 this force d3 layout force nodes this nodes size this width this
  • Netty websocket客户端闲置5分钟后不从服务器读取新帧

    我在服务器端和客户端都使用 Netty 来建立和控制 websocket 连接 我在服务器端有一个空闲状态处理程序 http netty io 4 1 api io netty handler timeout IdleStateHandle
  • 在jsp页面中显示jfreechart

    我想显示一个jfreechartjsp 页面中的图表 我写的代码如下 img src chart jpg 哪里的createCategoryChart 方法创建所需的 jpg 它存储在 eclipse 文件夹中 我没有在文件名中添加任何路径
  • 强制 UIView/UIVIewController 方向

    我们正在编写一个专门处于横向模式的应用程序 我们对根视图使用变换将其旋转到 LandscapeRight 然后该视图加载的每个视图都共享坐标系 这一切都很好 除了我们的视图之一有一个由视图控制器加载的 UIWebView 对象 我们尝试查看
  • 如何将shadershop公式转换成glsl

    我最近一直在学习着色器的一些基础知识 并且想出了一个很棒的视觉工具 着色器商店 http www cdglabs org Shadershop 但我无法将我在此站点中创建的公式转换为 glsl 一个简单的例子 我在此网站中创建了一个公式 我
  • data.table 相当于 tidyr 中的complete/fill

    我有以下数据 library tidyr library dplyr gt gt Attaching package dplyr gt The following objects are masked from package stats
  • Android-状态栏通知

    我是安卓新手 我现在想知道如何在主页中创建状态通知栏 谁能帮我一些代码 提前致谢 notificationManager NotificationManager context getSystemService Context NOTIFI
  • JTable 单元格中的图像相差一个像素?

    因此 我现在可以将图像加载到 JTable 的单元格中 但由于某种原因 图形全部向右移动了一个像素 使我能够看到 JTable 的背景 有任何想法吗 抱歉 如果我的格式已关闭 仍然没有完全习惯这种标记 public static void
  • 使用 php cUrl 发送会话变量

    我正在尝试在我的应用程序内的脚本之间发送数据 问题是会话 ID 没有响应 脚本1是
  • 使用 bash 自动化点文件

    我想创建自己的自动点文件文件夹 我将使用 git 对我的点文件使用版本控制 但这与问题无关 我想要的只是符号链接中的所有文件和文件夹 dotfiles到我的主文件夹 由于我对 bash 一点都不擅长 所以我无法做到这一点 请在这件事上给予我
  • ravendb 结合搜索和Where

    我正在 C 中执行 raven 查询 并利用Where 和Search 扩展方法 我需要这两个功能 因为我只需要返回具有特定 Guid 字段的索引以及文本正文中存在的文本 不幸的是 Where 扩展方法似乎与 Search 扩展方法不兼容
  • Clojure 宏:根据条件将过滤后的映射和数量传递给其他宏

    defmacro action1 prn action1 start etype1 defmacro block bindings body let mapcat fn k v if symbol k k symbol name k v c
  • Arduino - 高效地迭代 C 数组

    我有以下数组 PROGMEM prog uint16 t show hide info 4216 8900 4380 580 500 600 500 580 1620 580 500 600 500 580 500 600 480 600
  • 将满足范围内的值的行复制到sheet2

    对于 Excel VBA 我是个新手 如果满足某些条件 我有一个任务将行从工作表 1 复制到工作表 2 在sheet1中 JY列中的值以MV列结尾 我希望您能帮我编写一个宏 将包含小于 1 的值的所有行复制到sheet2 一行可能有多个 例
  • 无法使用使用Python编写的Robot Framework自定义库

    创建了一个示例 Python 脚本 Elements py 其函数如下 from robot api deco import keyword keyword join two strings def join two strings arg
  • 通过 SNMP 访问路由表

    如果我尝试查找安装了 openWRT 的 Linksys WRT54G 的路由表 我需要哪个 MIB 那应该是MIB II SNMP 对象 ID OID 为 1 3 6 1 2 1 4 21 可转换为ip ipRouteTable 这对我在
  • 按组的 SQL 计数

    我必须遵循架构 Movie mvID title rating year Director directorID firstname lastname Genre mvID genre Direct mvID directorID 我需要知