陷入构建 MySQL 查询的困境

2024-01-10

给出一个表的例子:

id | item_id | user_id | bid_price
----------------------------------

任务是选择rows with minimum bid_price对于每个item_id在提供的集合中。

例如:item_id = [1, 2, 3]- 所以我需要选择最多三 (3) 行,最少bid_price.

数据示例:

id | item_id | user_id | bid_price
----------------------------------
 1 |    1    |   11    |     1
 2 |    1    |   12    |     2
 3 |    1    |   13    |     3
 4 |    1    |   14    |     1
 5 |    1    |   15    |     4
 6 |    2    |   16    |     2
 7 |    2    |   17    |     1
 8 |    3    |   18    |     2
 9 |    3    |   19    |     3
10 |    3    |   18    |     2

预期结果:

id | item_id | user_id | bid_price
----------------------------------
 1 |    1    |   11    |     1
 7 |    2    |   17    |     1
 8 |    3    |   18    |     2

实际上,我正在使用 Symfony/Docine DQL,但对于一个简单的 SQL 示例就足够了。


对于行中的所有列,您可以在子选择上使用内部联接来获取最低出价

select m.id, m.item_id, m.user_id, m.bid_price
from my_table m 
inner join ( 
select item_id, min(id) min_id,  min(bid_price) min_price
from my_table 
where   item_id IN (1,2,3)
group by item_id 
) t on t.item_id = m.item_id 
   and t.min_price= m.bid_price
   and t.min_id = m.id

或者..如果您有一些浮点数据类型,您可以使用 acst 表示无符号

  select m.id, m.item_id, m.user_id, cast(m.bid_price as UNSIGNED) 
  from my_table m 
  inner join ( 
  select item_id, min(id) min_id,  min(bid_price) min_price
  from my_table 
  where   item_id IN (1,2,3)
  group by item_id 
  ) t on t.item_id = m.item_id 
     and t.min_price= m.bid_price
     and t.min_id = m.id 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

陷入构建 MySQL 查询的困境 的相关文章

随机推荐

  • Gradle:如何使用特定版本的快照?

    我正在使用 graphhopper 库的 SNAPSHOT 版本 是否可以使用旧版本的快照 我试过 compile group com graphhopper name graphhopper version 0 6 20151126 11
  • 计算列表字段的平均值

    我有 A 的列表 我想计算它的字段 a 的平均值 最好的方法是什么 class A int a int b void f var L new List a for int i 0 i lt 3 i L Add new A a i Enume
  • 使用 Bitbucket 的 Flutter 管道

    我想创建管道以轻松在 Bitbucket 上构建 Flutter Android iOS 应用程序 不幸的是 我没有找到任何文章或指南 是否可以 Web image cirrusci flutter pipelines branches d
  • 在自定义域上部署云端点

    我正在 App Engine 上使用 Google Cloud Endpoints 进行测试 并将我的应用程序映射到自定义域 看来这是不可能的 我尝试访问端点 url 更改主机 但这给了我一个 404 我还尝试更改服务的根 url 和后端
  • LINQ to Entities 无法识别方法 'System.Collections.Generic.Dictionary`2[System.Int32,System.String] ToDictionary

    我正在尝试检索列表EmployeeDTO来自存储在 Employee 表中的数据库 每个员工都可以拥有一项或多项专长 专业存储在OrganizationSpecialtyType Employee and OrganizationSpeci
  • dynamodb 更新表达式是否强一致?

    假设给定的表已经包含以下键值对 id 一 数量 5000 如果我编写一个更新表达式 例如 ADD num val 来根据需要添加值 我可以期望这在并行请求的情况下保持一致吗 看来你可以保证结果是一致的 即如果当前值为 10 并且你添加 2
  • 我应该使用 CASCADE DELETE 规则吗? [复制]

    这个问题在这里已经有答案了 重复 何时 为何在 SQL Server 中使用级联 https stackoverflow com q 59297 1288 我一直不敢使用 DELETE CASCADE 但随着我变得更加自信 懒惰 D 我在想
  • Webjobs 验证脚本失败

    我正在运行下面的脚本来验证我的 Webjobs 在通过 VSTS 中的 PowerShell 任务运行我的 Webjobs 停止和启动脚本后是否正确停止 但是下面的脚本有时可以正常工作 有时则不能正常工作 因为即使在停止我的 Webjobs
  • “use strict”为 TypeScript 代码添加了什么?

    这个问题是一个副本TypeScript 文件中需要 Use Strict 吗 https stackoverflow com questions 31391760 use strict needed in a typescript file
  • 我什么时候应该在 Django 的模板系统中使用 escape 和 safe ?

    如果我有一个人们发表评论的框 然后我像这样显示该评论 我应该逃避吗 c title 实际上 这取决于 Django 的模板引擎会自动转义 因此您实际上不需要转义 如果您添加模板过滤器 安全 例如 c title safe 那么你确实需要担心
  • 如何从 KSOAP2 Android 中 SOAP 的 PropertyInfo 中删除 i:type="d:string"

    我正在使用 ksoap2 android assembly 3 0 0 jar with dependency jar 我正在开展一个项目 我需要以下肥皂请求
  • 如何消除大尺寸java swing标签中的间隙

    在我的应用程序中 我有一个字体大小超过 200 的标签 该标签包含大的上下 不规则 间隙 我怎样才能删除它 这是我的代码 package Core import java awt Font import java awt GridBagCo
  • 为什么人们似乎暗示我宁愿不使用 Boost? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常在这里看到关于 boost 的注释 例如 如果您可以使用 Boost or 如果你可以使用Boost 我想知道 这是怎么回事 我应该厌倦什
  • Google 云存储 - 签名网址 - 一次性访问

    我们计划使用 Google 云存储以及可以提供给用户的签名 URL 所以我们上传一个文档 生成签名的 url 使用此处提到的详细信息 https developers google com storage docs accesscontro
  • 基类和派生类中的依赖注入

    我有一个抽象的控制器基类 所有操作控制器都派生自它 基本控制器类在构造时初始化视图对象 所有动作控制器都使用此 View 对象 每个动作控制器都有不同的依赖关系 这是通过使用 DI 容器来解决的 问题是控制器基类还需要一些依赖项 或参数 例
  • 如何找出运算符“+”的类型?

    在 GHCi 版本 8 6 3 中 https repl it languages haskell https repl it languages haskell 我想知道如何找出运算符 的类型 我想看看它的类型是否是num a b c g
  • RSA:使用扩展欧几里得算法计算私钥

    我是一名高中生 正在写一篇关于 RSA 的论文 我正在用一些非常小的素数做一个例子 我了解系统的工作原理 但我一生都无法使用扩展欧几里得算法来计算私钥 这是我到目前为止所做的 我选择了质数 p 37 q 89 计算出 N 3293 我计算了
  • 在我的 Android 应用程序中禁用屏幕截图

    我有我当前的 Android 应用程序不允许用户截屏 我在用 getWindow setFlags LayoutParams FLAG SECURE LayoutParams FLAG SECURE 在我的 onCreate 方法中并且工作
  • 使用 OpenGL 的 2D 示例 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个非常简单的教程 仅使用 OpenGL 进行 2D 绘图 我的问题是我想用 OpenGL 绘
  • 陷入构建 MySQL 查询的困境

    给出一个表的例子 id item id user id bid price 任务是选择rows with minimum bid price对于每个item id在提供的集合中 例如 item id 1 2 3 所以我需要选择最多三 3 行