MySQL GROUP BY 仅返回第一行

2024-02-20

我有一个名为forms具有以下结构-

GROUP       | FORM       | FILEPATH
====================================
SomeGroup   | SomeForm1  | SomePath1
SomeGroup   | SomeForm2  | SomePath2
------------------------------------

我使用以下查询 -

SELECT * FROM forms GROUP BY 'GROUP'

它仅返回第一行 -

GROUP       | FORM       | FILEPATH
====================================
SomeGroup   | SomeForm1  | SomePath1
------------------------------------

它不应该返回两者(或全部)吗?或者我(可能)错了?


As 手册 http://dev.mysql.com/doc/en/group-by-hidden-columns.html states:

在标准 SQL 中,包含以下内容的查询GROUP BY子句不能引用选择列表中未在选择列表中命名的非聚合列GROUP BY条款。例如,此查询在标准 SQL 中是非法的,因为name选择列表中的列不会出现在GROUP BY:


SELECT o.custid, c.name, MAX(o.payment)
  FROM orders AS o, customers AS c
  WHERE o.custid = c.custid
  GROUP BY o.custid;  

为了使查询合法,name列必须从选择列表中省略或在GROUP BY clause.

MySQL 扩展了使用GROUP BY以便选择列表可以引用未在列表中命名的非聚合列GROUP BY条款。这意味着前面的查询在MySQL中是合法的。您可以使用此功能避免不必要的列排序和分组,从而获得更好的性能。然而,这主要是当每个非聚合列中的所有值未在GROUP BY每个组都相同。服务器可以自由地从每个组中选择任何值,因此除非它们相同,否则所选择的值是不确定的。

在您的情况下,MySQL 正确地执行了分组操作,但是(因为您选择了所有列,包括未对查询进行分组的列),但为您提供了每组中不确定的一条记录。

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

MySQL GROUP BY 仅返回第一行 的相关文章

  • 如何实现复杂的sql命令

    我在 MySQL 中有一个 sql 表 其中包含以下记录 user dob john 1 10 96 jane 3 4 97 jill 1 8 96 jack 2 9 00 jane 12 14 07 john 1 11 98 这是我要执行
  • 如何在 PHP 中解密密码哈希?

    我需要解密密码 密码已加密password hash功能 password examplepassword crypted password hash password PASSWORD DEFAULT 现在 我们假设 crypted存储在
  • mysql 密码 使用 PHP 连接到 MySQL

    在使用 PHP 连接到 MySQL 的教程中 您会看到类似于以下内容的内容 pdo new PDO mysql host localhost dbname mydb myuser mypassword 我在本地主机上有一个以这种方式工作的连
  • 按权重分组

    给定以下数据框 import pandas as pd d pd DataFrame Age 18 20 20 56 56 Race A A A B B Response 3 2 5 6 2 Weight 0 5 0 5 0 5 1 2 1
  • 在 Pandas 中按索引分组

    如何使用 groupby by 索引 1 2 3 它们的顺序相同 并获得属于每个索引范围的列分数的总和 基本上我有这个 index score 1 2 2 2 3 2 1 3 2 3 3 3 我想要的是 index score sum 1
  • 连接错误 - SQLSTATE[HY000] [2002] 操作超时

    我在从 Windows 2008 R2 应用程序服务器连接到也在 Windows 2008 R2 上运行的 MySQL 服务器时遇到问题 Laravel 应用程序报告错误 exception PDOException with messag
  • ERROR 188 (HY000): FTS 查询超出结果缓存限制 mysql

    我的表的文本列上有全文索引 约有 1100 万行 表结构 CREATE TABLE review id int 11 NOT NULL AUTO INCREMENT comments text COLLATE utf8mb4 unicode
  • MySQL 一起使用 LIKE、AND、OR

    我正在创建一个搜索功能来搜索一些图片 每张图片都有一个状态 表示它是被批准还是被拒绝 mysql 在返回之前检查状态 但是它仍然返回不应该返回的图像 这是我的查询 SELECT FROM Pictures WHERE ImageTitle
  • 根据长文本存储的 json 中的特定值提取密钥

    我有一列存储用户属性的值 列类型是长文本 例如 1 1 15607 1 1345 2 我只想提取值为 1 的键 这意味着我应该得到 1 和 15607 我尝试使用 json search json search cast attribute
  • ECHO MYSQL 结果显示空白页 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道这一定很简单 但我做不到 我需
  • 如何在 MySQL 查询编辑器中对列重新排序?

    我想移动专栏OtherSupport below Amount2 是否有捷径可寻 ALTER TABLE myTable MODIFY OtherSupport VARCHAR 50 AFTER Amount2
  • 使用 PHP 将 mysql 值转储到 JSON 文件中

    我正在尝试使用 PHP 从 mysql 数据库生成 JSON 文件 到目前为止 我有
  • java.sql.SQLException:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我已尝试使用以下代码来检索存储在数据库中的图像 我创建了一个名为image db包含一个名为的表image details 该表有两个字段 id and image path两者都是类型mediumblob 我在
  • 在不使用 PHP 的情况下将 MYSQL 中的表字段更新为其值加上常量

    我想表演一个UPDATE in MYSQL其中我获取一个字段值 添加一个常量并将新值保存在同一字段中 假设我们有一个名为OldValue在一个名为aTable 伪代码可能是 UPDATE aTable SET OldValue OldVal
  • MySQL C++ 连接器未解决的依赖关系(VS 2015)

    我正在尝试在 Windows Visual Studio 2015 上编译 MySQL Connector C 我根据以下内容使用CMake生成了项目文件官方说明 https dev mysql com doc connector cpp
  • MySQL中Join同表临时表

    我喜欢在 MySQL 中加入一个失败的临时表 这个想法很简单 CREATE TEMPORARY TABLE temp table LIKE any other table srsly it does not matter which tab
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 按时间戳字段中的日期过滤结果

    我已经获得了一些帮助 但不确定为什么这不起作用 我正在尝试使用表单让用户过滤他们的活动 存储在数据库中 My code GET from 01 11 2013 GET to 25 11 2013 from DateTime createFr
  • MYSQL数据库删除行后需要进行后期优化

    我有一个当前为 10GB 的日志表 它有很多过去两年的数据 我真的觉得目前我不需要那么多 我是否错误地认为在表中保存多年的数据不好 表越小越好 我的桌子都有 MYISAM 引擎 我想删除 2014 年和 2015 年的所有数据 很快我就会删
  • MySQL 连接逗号分隔字段

    我有两张桌子 第一个表是batch在字段 batch 中包含逗号分隔的学生 ID 的表 batch id batch 1 1 2 2 3 4 第二个表是分数 marks id studentid subject marks 1 1 Engl

随机推荐

  • 在 C# 中将列表设置为只读

    我有这个示例代码 我想要做的是使 Nums 值只能使用 AddNum 方法写入 namespace ConsoleApplication1 public class Person string myName N A int myAge 0
  • ExecutorService 超时但不阻塞主线程

    我想在有时间限制的后台执行一些工作 问题是 我不想阻塞主线程 简单的实现是有两个执行器服务 一个负责安排 超时 第二个负责完成工作 final ExecutorService backgroundExecutor Executors new
  • F# 如何捕获所有异常

    我知道如何捕获特定异常 如下例所示 let test zip archive candidate zip archive let rc try ZipFile Open candidate zip archive ToString ZipA
  • Laravel 5.8 中 Auth::user() 返回 null

    我的 Laravel 5 8 10 项目中遇到身份验证问题 我没有使用 Laravel 创建的默认表单进行身份验证 当我在浏览器中访问 URL 仪表板时 通常用户会在登录时获得重定向 无论如何 应用程序允许它 另外当我使用时Auth use
  • TYPE_E_CANTLOADLIBRARY 仅当在 Windows 2003 x64 上的单独线程上使用 COM 对象时

    我有一个访问 COM 对象的 Windows 窗体应用程序 编译为 x86 它给了我以下错误 only在 Windows 2003 x64 上 当代码在单独的线程上运行时 创建 IDoc 期间出现异常 无法将类型 PTISG COM Tek
  • 修复 ARC 中潜在的内存泄漏

    以下单例类 SharedManager 辅助方法可能会导致保留周期 在静态分析器中收到警告 在行分配的对象的潜在泄漏 我该如何修复 我确实尝试使 ivar uuid weak 但在分析时仍然出现警告 NSString weak uuid b
  • std::numeric_limits::epsilon() 可以用来做什么?

    unsigned int updateStandardStopping unsigned int numInliers unsigned int totPoints unsigned int sampleSize double max hy
  • 有没有办法阻止 contentEditable 元素在光标到达底部时滚动?

    例如 我有一个 contentEditable div 我可以在其中输入内容 当文本到达 div 底部时 浏览器会自动滚动 div 以便文本末尾和光标仍然可见 如何防止 div 滚动 以便输入的文本超出 div 的底部 从而在键入时不再看到
  • 将二维 ArrayList 复制为新的

    所以我遇到的问题是在复制二维数组列表后 更改一个二维数组列表中的元素会影响另一个二维数组列表 我希望它们在内存中完全分开 第一个示例展示了它如何正确处理一维数组列表 import java util ArrayList public cla
  • 正则表达式匹配以测试有效年份

    给定一个值 我想验证它以检查它是否是有效的年份 我的标准很简单 其中值应该是整数4人物 我知道这不是最好的解决方案 因为几年前它不允许1000并将允许诸如5000 这个标准足以满足我当前的情况 我想出的是 d 4 虽然这有效 但它也允许负值
  • 性能:使用 JCIF 将文件复制到 Windows 网络的速度非常慢

    我正在尝试将文件从本地计算机复制到 Windows 服务器中的共享文件夹 这是我使用的功能 public static void copyFileUsingJcifs final String domain final String use
  • 如何将新工具箱添加到已安装的 Matlab 版本中?

    我需要向我的 Matlab Student 版本添加一个工具箱 我知道我必须下载工具箱文件 将它们放在某个目录中 然后指定路径 但是 我不太确定必须将文件放在哪里 我下载了两个 zip 存档 Symbolic Math Toolbox Co
  • 如何在 MMT 中粘合/识别两个结构中的内含物?

    我想形式化形式语言及其语义MMT https uniformal github io 并定义一个一般概念语义等价两种语义 one句法 准确地说 对后者进行编码实际上是一种识别 粘合 我不知道如何在 MMT 中做到这一点 接下来让我详细说明我
  • IE6 将 DOCTYPE 更改为错误的 DOCTYPE

    我正在使用定义了以下内容的网站DOCTYPE 当我访问该网站时IE6 DOCTYPE神奇地变成了 而且 好吧 它可以保留 因为一切看起来都很好 但这是重点 只有一页有DOCTYPE变成
  • 如何编写使用OpenERP ORM直接上传到Postgres数据库的Python脚本

    我需要在 Python 中编写一个 独立 脚本 仅使用 OpenERP 的 ORM 模块将销售税上传到数据库中的 account tax 表 我想做的是类似下面的伪代码 有人可以向我提供有关以下内容的更多详细信息 1 我需要设置什么sys
  • ImageView 内的 Android ProgressBar

    我有一个活动通过异步任务用数据填充列表视图 另外 我正在后台加载图片 在加载图片时 我想在图像视图中显示进度条而不是默认图标 我在互联网上搜索了任何示例等 但找不到任何有用的东西 我只找到一个响应 它说您必须使用图像视图和进度条进行框架布局
  • JQuery获取formaction和formmethod

    我有一个像这样的
  • 如何在 Git 中执行三向比较而不合并?

    我想在具有公共合并基础的两个 git 分支之间执行三向差异 并使用 kdiff3 查看它 我发现了很多关于SO的指导 以及一些非常相似的问题 1 https stackoverflow com q 26301307 3380131 2 ht
  • SQL Server Express (2012) 和 LocalDB 之间有区别吗?

    以他的优秀和受欢迎对比图 http erikej blogspot com 2011 01 comparison of sql server compact 4 and html ErikEJ 区分了SQL Server Express 2
  • MySQL GROUP BY 仅返回第一行

    我有一个名为forms具有以下结构 GROUP FORM FILEPATH SomeGroup SomeForm1 SomePath1 SomeGroup SomeForm2 SomePath2 我使用以下查询 SELECT FROM fo