MySQL 使用 GROUP BY 和 ORDER BY 得到错误结果

2023-12-05

我有一张桌子user_comission_configuration_history我需要从一个中选择最后一个佣金配置user_id.

Tuples:

enter image description here

我尝试了很多查询,但是结果是错误的。我最后的SQL:

SELECT *
    FROM(
        SELECT * FROM user_comission_configuration_history
        ORDER BY on_date DESC
    ) AS ordered_history
WHERE user_id = 408002
GROUP BY comission_id

上述查询的结果是:

enter image description here

但是,正确的结果是:

id    user_id    comission_id    value         type          on_date
24    408002     12              0,01          PERCENTUAL    2014-07-23 10:45:42
23    408002     4               0,03          CURRENCY      2014-07-23 10:45:41
21    408002     6               0,015         PERCENTUAL    2014-07-23 10:45:18

mySQL 出了什么问题?


这是您的查询:

SELECT *
FROM (SELECT *
      FROM user_comission_configuration_history
      ORDER BY on_date DESC
     ) AS ordered_history
WHERE user_id = 408002
GROUP BY comission_id;

您的查询的一个主要问题是它使用 MySQL 扩展来group by那个MySQL明确地警告反对。扩展是使用中的其他列select那些不在group by或在聚合函数中。警告(here) is:

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

因此,列中返回的值是不定.

这是一个非常有效的方法来获得你想要的东西(“commission”的英文拼写正确):

SELECT *
FROM user_commission_configuration_history cch
WHERE NOT EXISTS (select 1
                  from user_commission_configuration_history cch2
                  where cch2.user_id = cch.user_id and
                        cch2.commission_id = cch.commission_id and
                        cch2.on_date > cch.on_date
                 ) AND
      cch.user_id = 408002;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 使用 GROUP BY 和 ORDER BY 得到错误结果 的相关文章

  • UNION SELECT - 循环?还是单个查询?

    如果我使用 UNION 从数据库中进行多个 SELECT 是否被视为一个查询 或多个查询 SELECT column name s FROM table1 UNION SELECT column name s FROM table2 这是否
  • JavaFX ComboBox - 显示文本但在选择时返回 ID

    我有一个包含机场的数据库表 每个机场都有一个名称和一个 ID 在 JavaFX 中我有一个表单 其中包含ComboBox 组合框需要显示所有机场名称 并且在提交表单时需要将机场的 ID 插入数据库 而不是其名称 但我并没有真正弄清楚解决方案
  • 依靠条件连接大表的速度很慢

    当表很小时 这个查询有合理的时间 我试图找出瓶颈是什么 但我不知道如何分析EXPLAIN结果 SELECT COUNT FROM performance analyses INNER JOIN total sales ON total sa
  • 我想创建搜索页面,在“div”中显示从数据库中搜索到的数据?

    我想要创建搜索页面 php 在其中我想在 div 中显示从数据库搜索到的数据 我与数据库建立了连接 并在一个 phppage 中搜索数据 并在另一个 phppage 中创建了一个 div 标签 我怎样才能将一个php页面的搜索数据显示在另一
  • Oracle 免费桌面客户端? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • magento可以使用多个MySQL从服务器吗?

    以下是我使用单个从站的配置的一部分
  • 线性回归,在 MySQL 中求斜率

    我正在尝试查找以 DATETIME 作为 x 轴 以 y 轴为数字的数据集的斜率 我已经尝试了多种方法 当我将数据插入 Excel 时 没有任何东西可以匹配直线的斜率 它偏离了多个数量级 这就是我现在所拥有的 但它给我的斜率为 1 13e
  • PHP 检查 NULL

    这是下面的代码 query mysql query SELECT FROM tablex if result mysql fetch array query if result column NULL print
  • MySQL JOIN 与 SUM 和 3 个表

    我有下表 球员 赛事 得分 我想要一份每个球员在 2012 年获得多少积分的列表 我希望这份名单包含所有球员 即使有些球员在 2012 年还没有参加过比赛 所以理论上它应该打印 Ola Hansen 6 Tove Svendson 0 Ka
  • 在 SQL 中,如何获得按某一列排序的前 N ​​行?

    我想选择表格的前 N 行 按其中一列中的数字有多高进行排名 我已经有了 SELECT FROM movie ORDER BY worldwide gross DESC 怎样才能获得前二十名 如果有什么区别的话我正在使用MySQL Cheer
  • 提高 PostgresQL 聚合查询性能

    我正在聚合 Postgres 表中的数据 查询大约需要 2 秒 我希望将其减少到不到一秒 请参阅下面的执行详细信息 Query select a search keyword hll cardinality hll union agg a
  • 如何查找哪些视图正在使用 SQL Server (2008) 中的某个表?

    我必须向表中添加几列 并且还需要将这些列添加到使用该表的所有视图中 是否可以获取数据库中使用某个表的所有视图的列表 这应该可以做到 SELECT FROM INFORMATION SCHEMA VIEWS WHERE VIEW DEFINI
  • 应用程序在尝试创建数据库时崩溃

    我使用 SQLite 数据库浏览器 创建了一个 sql 数据库 将其拖放到我的 Xcode 项目中 并构建了应用程序 它在模拟器上运行良好 但在 iPhone 上崩溃 并出现以下错误 Terminating app due to uncau
  • MySQL:选择具有适用于多行的条件的记录

    我有一张桌子 DETAILS ID PARENT ID DATA KEY DATA VALUE 1 1 Guitar 4 2 1 Radio 2
  • SQL 查询和 VBA 错误

    我不断收到此错误 BOF or EOF set tu True or the current record has been deleted The requested operation requires a current record
  • 无法在 Postgres (9.3) 索引中使用 concat 函数

    我正在几个文本列上创建索引 在 Postgres 9 3 中 我想使用concat e g CREATE INDEX ON my table USING gin to tsvector english concat title descri
  • 从 MySQL 数据库中选择多个字段重复项

    我有一个旧论坛 其中包含具有重复的第一个帖子的线程 可能有不同的回复 我想删除除其中一个线程之外的所有线程 留下观看次数最高的线程 我有以下 SQL 查询来帮助识别重复线程 但我找不到一种方法让它仅列出 xf thread view cou
  • 分页打印所有数据

    我在打印数据表中具有分页的所有数据时遇到问题 我已经做过研究并在此链接中发现了同样的问题 仅打印 https stackoverflow com questions 468881 print div id printarea div onl
  • 通过 ENUM 值检索 SUM(count)

    这是我的表的一个示例 drug id route enum count 1 PO 2 1 IV 4 1 IV 6 2 PO 1 2 PO 5 2 IV 2 这就是我需要信息的方式 基本上它的SUM count 但在每个 路线 的一列中 dr
  • 与选择顶部相反

    Transact SQL 有一个方便的SELECT TOP 4 whatever FROM 我想做一个 SELECT 查询 返回表中的最后 n 个条目 而不是第一个条目 这是我用来返回在表中输入的前四个项目的查询 使用 SELECT TOP

随机推荐

  • Msys shell 命令更改文件的属性

    请告诉我一个可用于更改文件属性的 MSYS shell 命令 当我运行命令时ls l我得到以下信息 rw r r 1 lenovo Admin m4sugar m4 我想提供完整的访问权限 非常感谢任何帮助 Thanks cdhowie 是
  • Cloud Functions发送请求时是否使用相同的IP

    因此 我使用express js 在 Cloud Functions 上运行 Web 服务 API 我想知道云函数是否每次都使用相同的IP地址发送请求 我的用户正在发送请求并从 CF 获取响应 每次用户发送请求时 CF 都会向第三方 API
  • 如果 GPU 已使用,Cupy 在 multithread.pool 中会出现错误

    我尝试在程序的两个部分中使用 cupy 其中之一与池并行 我设法用一个简单的例子重现它 import cupy import numpy as np from multiprocessing import pool def f x retu
  • 如何从 iOS 应用程序拨打 WhatsApp 电话?

    我希望能够通过我的 iOS 应用程序使用 WhatsApp 号码拨打电话 我怎样才能做到这一点 您应该询问 WhatsApp 如何操作 解决方案在于 URL Schema https www whatsapp com faq de ipho
  • Java-> 的含义?

    完整的上下文是 public class RClass
  • Selenium Web 驱动程序元素单击在 Windows 10 中不起作用

    我正在使用 selenium webdriver 在 C 中创建自动化工具 该自动化在 Windows 7 上运行良好 但在 Windows 10 上运行不佳 ex driver FindElement By XPath button ty
  • Ruby facebook 图形 api appsecret_proof

    如何使用 Ruby 为 facebook graph api 创建 appsecret proof Facebook 有一个例子PHP 我还看到了 ruby 中的一个例子gist OpenSSL HMAC hexdigest OpenSSL
  • 在 git 中转义在文件名中添加前导“-”?

    在 git add 中 如何转义文件名中的前导 字符 例如 git add index apache html gives error unknown switch d Thanks 附言 同样对于 git checkout Use the
  • 生成具有固定度数的小世界网络

    我想生成一个固定度数为 10 的小世界网络 我尝试过 watts strogatz game 1 100 5 0 其结果是度数为 10 但每个节点只有 5 个邻居 我猜这是因为网络是无向的 有什么办法让它变得无向吗 The igraph包包
  • 转换为 Dalvik 格式失败并出现错误 1 ​​- 为什么?

    我只添加到现有的完全工作项目中 该文件com android vending billing IMarketBillingService aidl 我还没有添加任何其他内容 来自 market billing 示例 因为我什至还没有尝试使用
  • 基于多个字段的过滤列表

    我正在迭代一个职位列表 并且在此列表上实现了一个搜索 搜索正在运行 但现在它仅根据一个字段过滤列表 这是我的清单
  • 在 Node 中设置 AWS SDK 凭证

    我在为需要 aws sdk 的 React 应用程序设置 aws 凭证时遇到问题 我已在 aws credentials 路径中设置了我的凭证文件 我知道这是可以的 但是 我不知道如何在我的 jsx 文件中处理这个问题 我的理解是 SDK
  • 下载哪一个:JDK 还是 JRE? [复制]

    这个问题在这里已经有答案了 可能的重复 Java SE 6 与 JRE 1 6 与 JDK 1 6 这些意味着什么 我需要安装最新版本的 J2SE 所以现在我在下面的指定链接试图弄清楚如何继续 我收到的书的作者说要获取 J2SE 的更新版本
  • 使用 Picasso 将图像大小调整为全宽和固定高度

    我有一个垂直的 LinearLayout 其中一个项目是ImageView使用毕加索加载 我需要将图像的宽度增加到整个设备宽度 并显示按固定高度 150dp 裁剪的图像的中心部分 我目前有以下代码 Picasso with getActiv
  • Raudus 与 Ext Pascal:使用 ExtJS 的 Delphi Web 开发替代方案 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 Delphi 开发人员有多
  • 评估包含未初始化指针的条件 - IN,但它会崩溃吗?

    我在论坛的某个地方遇到过这样的情况 Any attempt to evaluate an uninitialized pointer variable invokes undefined behavior For example int p
  • Git 配置文件:最佳实践

    我设法让 Git 与 Github 一起运行 现在 一年后 我想教小组如何做同样的事情 我从中学到了很多here 但即使有了答案 有些事情仍然不清楚 请抱歉 如果我没有从git 参考 问题 是否有最佳实践 哪些参数应该显示在哪个配置文件中
  • 令牌身份验证与 Cookie

    令牌身份验证和使用 cookie 进行身份验证有什么区别 我正在努力实施Ember Auth Rails 演示但我不明白使用令牌身份验证背后的原因 如Ember 验证常见问题解答关于 为什么令牌身份验证 的问题 HTTP 是无状态的 为了授
  • Chrome 设置菜单的扩展程序权限 (chrome://settings)

    我正在编写一个 Chrome 扩展 它会监听 chrome windows onRemoved addListener 并在 chrome 窗口关闭时断开用户连接 我想在 chrome settings frame 页面中执行脚本 chro
  • MySQL 使用 GROUP BY 和 ORDER BY 得到错误结果

    我有一张桌子user comission configuration history我需要从一个中选择最后一个佣金配置user id Tuples 我尝试了很多查询 但是结果是错误的 我最后的SQL SELECT FROM SELECT F