同一列时两条记录限制

Posted

技术标签:

【中文标题】同一列时两条记录限制【英文标题】:Two records limit when the same column 【发布时间】:2014-09-21 11:22:25 【问题描述】:

我有专栏:

标识 | id_contract |价格

我想从一份合同中选择所有限制为 2 最便宜的报价。

我使用 kochana ORM。

谢谢。

例如

1 | 1 | 100 *
2 | 1 | 500
3 | 1 | 300 *
4 | 1 | 900
5 | 2 | 1000
6 | 2 | 100 *
7 | 2 | 200 *
8 | 3 | 10000 *
这是我要选择的。

【问题讨论】:

如果您想要答案,请编辑您的问题并添加示例数据和所需结果。 好的,谢谢! @GordonLinoff 【参考方案1】:

您可以使用以下查询在 mysql 中执行此操作:

select t.*
from table t
where (select count(*)
       from table t2
       where t2.id_contract = t.id_contract and
             t2.price <= t.price
      ) <= 2;

【讨论】:

以上是关于同一列时两条记录限制的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 .AfterUpdate 数据宏更新同一个表中的多条记录,而不会出现“数据宏资源限制已达到”错误。

使用Nginx限制同一IP的访问频率

PHP实现对短信验证码发送次数的限制(防机刷验证码)

插入 CLOB 列时出错:ORA-06502:PL/SQL:数字或值错误

减去表中同一列的两条记录

如何用通配符比较同一张表中的两条记录?