SQL不是单组组函数

2024-02-07

当我运行以下 SQL 语句时:

SELECT MAX(SUM(TIME))
FROM downloads
GROUP BY SSN

它返回客户下载的最大总价值,但是如果我尝试通过将其添加到 select 语句来查找该最大值所属的社会安全号码:

SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN

我收到以下错误:

不是单组群函数

我不明白为什么它会抛出这个错误。谷歌搜索得出以下操作:

从 SELECT 列表中删除组函数或单个列表达式,或者添加包含列出的所有单个列表达式的 GROUP BY 子句

从我看来这句话说的是 - 删除分组功能会使求和值无效 - 删除单个列表达式(SSN)只会给我最大总和 - 不确定第三部分。

有人能指导正确的方向吗?

-Tomek

编辑:该数据库中的TIME指的是下载次数


简单来说,问题是查询中特定 SSN 的 SUM(TIME) 是单个值,因此它反对 MAX,因为它没有意义(单个值的最大值没有意义)。

不确定您正在使用什么 SQL 数据库服务器,但我怀疑您想要一个更像这样的查询(以 MSSQL 背景编写 - 可能需要一些翻译到您正在使用的 SQL 服务器):

SELECT TOP 1 SSN, SUM(TIME)
FROM downloads
GROUP BY SSN
ORDER BY 2 DESC

这将为您提供总时间最长的 SSN 及其总时间。

编辑 - 如果您有多个时间相同并且想要它们全部,您将使用:

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

SQL不是单组组函数 的相关文章

随机推荐

  • 在构造函数中传递控制器总是不好的做法吗?

    我偶尔会通过传入视图控制器实例本身来实例化视图控制器中的类 以便我创建的对象可以调用控制器的方法来更新视图 这是总是 经常还是从来都不是一个坏习惯 具体来说 ViewController h 有 void updateButtonValue
  • 无法使用 VS2008 SP1 进入 .NET Framework 源代码

    不知何故 我的 VS2008 SP1 失去了进入 NET 框架源代码的能力 我一直在尝试使用复选框 我已经重新删除了符号缓存文件夹十几次 我尝试过各种调试符号服务器 它所做的只是下载一些 PDB 文件 但是当我尝试在 NET 中选择堆栈框架
  • 是否可以在 xelatex 中创建带有这样的数字的页脚?

    是否可以在 xelatex 中创建像上面这样的页脚 在第一页上要在右侧对齐的数字 在第二页上要在左侧对齐的数字 顶部边框是一个很好的补充 但不是必需的 我不需要数字旁边的任何文本 部分名称 documentclass 11pt a4pape
  • 检测 JSON 对象列表中的重复条目

    我有一个用 java 解析的 JSON 文件 它有几个对象列表 如下所示 phoneNumbers type home number 212 555 1234 type home number 212 555 1234 type fax n
  • 如何在asp.net core web api(无第三方)中实现JWT刷新令牌?

    我正在使用使用 JWT 的 asp net core 实现 Web api 我没有使用第三方解决方案 例如我正在尝试学习的 IdentityServer4 我已经让 JWT 配置正常工作 但对如何在 JWT 过期时实现刷新令牌感到困惑 下面
  • 如何使用git复制rails应用程序并部署到heroku

    我是编程和 Rails 的新手 我想创建一个我正在使用的 Rails 应用程序的副本 以无害地尝试一些东西 有没有一种简单的方法可以实现这一点 是的你可以 这些命令对于像我这样的新手来说并不明显 并且可能对其他人有帮助 首先 根据您计划调用
  • xDebug 和 PHPUnit 的代码覆盖率说是 100%,实际上不是

    我有以下功能 function foo p if p null throw new Exception bla if p null throw new Exception bla 我对此函数的测试没有涵盖抛出异常的行 但 PHPUnit 告
  • 在 Android 上使用 DU

    有没有类似于 unix 命令 du 我可以在 adb shell 上使用的东西 我正在尝试找到一种方法来查看每个文件有多大 因为我有一个应用程序变得非常大并且失去控制 并且我正在尝试确定它具体是哪个文件 数据库 以便我可以解决问题 我正在
  • 如何从 Ruby on Rails 输出 JSON?

    我希望有一个通过 AJAX 创建 更新的模型 在 Ruby on Rails 中如何做到这一点 另外 更具体地说 如何在 RoR 中输出 JSON def create response success gt false source So
  • 如何在Python中很好地打印出字典?

    我刚刚开始学习 python 正在构建一个文本游戏 我想要一个库存系统 但我似乎无法打印出字典而不使其看起来很丑 这是我到目前为止所拥有的 def inventory for numberofitems in len inventory c
  • 如何销毁tinyMce?

    我使用的是最新版本3 4 b3 我将它放在一个对话框中 它的内容是动态创建的 所以这意味着tiny 应该将自身绑定到的文本区域每次都会被创建 因此 当我第一次加载对话框时 会出现微小的情况 如果我第二次加载该对话框 该对话框将不会再次显示
  • 为什么 Rails RSpec 响应显示 302 而不是 401?

    我已经被这个问题困扰好几天了 我不知道它出了什么问题 几个月前我开始使用 Ruby on Rails 目前正在学习使用 API 进行身份验证 我看过其他类似的主题here https stackoverflow com questions
  • 在 BinaryObjects 的 Ignite 缓存上执行 SQL

    我正在从 Spark 数据帧创建 BinaryObject 的缓存 然后我想在该 ignite 缓存上执行 SQL 这是我的代码在哪里bank是包含三个字段 id name 和age 的数据框 val ic new IgniteContex
  • MATLAB 的堆栈大小是多少?

    MATLAB R2018a 64 位 的默认堆栈大小是多少 堆栈大小似乎比 64 位 C 程序大 我为什么这么问 我问这个问题是因为我正在调用英特尔 MKL拉帕克 dtrtri https software intel com en us
  • 在java中修改复杂的csv文件

    我想编写一个可以打印和修改不规则csv文件的程序 格式如下 1 date 2 organization name 3 student name id number residence student name id number resid
  • 将视觉选择发送到外部程序而不影响缓冲区

    我想要实现的是将视觉选择发送到外部程序而不影响缓冲区的内容 Example 让以下代码块代表当前缓冲区 让 代表视觉选择的结束 This is not a test 1 lt This is not gt a test 2 This is
  • YouTube 播放器.destroy();即使在验证玩家时也会抛出“this.a is null”

    所以我有一个带有两个面板的小应用程序 使用 iframe API 单击一个面板将全屏展开该面板 并显示 播放视频 按钮和一些附加信息 单击左上角的按钮将使 UI 返回到标准状态 关闭视频并将面板缩小到适合 50 50 现在我们有两个视频 我
  • 如何处理带有图像和文本视图的自定义列表视图中的图像视图的点击?

    我想知道我们如何处理带有图像和文本视图的自定义列表视图上的图像视图的点击 我什至使 Imageview 可点击 这是我的代码 自定义适配器 java public class CustomAdapter extends ArrayAdapt
  • 返回第一个表中的所有数据,如果存在则仅返回第二个表中的 1 个数据

    我正在使用MySql 我有 2 个表 一个是带有主键 propertyId 的名称和数据列表 表 2 包含具有主键 propertyImageId 的图像 每个 propertyId 可能有多个图像或根本没有图像 我需要获取属于agentI
  • SQL不是单组组函数

    当我运行以下 SQL 语句时 SELECT MAX SUM TIME FROM downloads GROUP BY SSN 它返回客户下载的最大总价值 但是如果我尝试通过将其添加到 select 语句来查找该最大值所属的社会安全号码 SE