【问题标题】:How to get the lowest price from a particular group of users MYSQL如何从 MYSQL 的特定用户组中获得最低价格
【发布时间】:2019-01-16 18:54:48
【问题描述】:

我已经在这几天没有太多运气了,我正在寻找一些指导,以了解如何从特定的 sulpiers 组中获得最低估计值,然后将其放入另一个表中。

我对每件工作都有 4 个供应商估计,所有新的估计都放在一个表中,我试图从带有组 id 的“最近报价表”中的 4 个最新条目中找到最低的“中间”价格'1' 然后将其放入 'LOWEST QUOTE TABLE' 中,如下所示。

RECENT QUOTE TABLE:
suppid    group    min    mid    high
     1        1    200    400    600
     2        1    300    500    700
     3        1    100    300    500
    [4]      [1]   50    [150]   300
     5        2    1000   3000   5000
     6        2    3000   5000   8000
     7        2    2000   4000   6000
     8        2    1250   3125   5578

LOWEST QUOTE TABLE:
suppid    group    min    mid    high
     4        1    50     150    300

任何关于如何构建它的帮助都会很棒,因为我已经寻找了几天并且无法找到任何东西让我再次移动,我使用 MYSQL 并且该应用程序是用 Python 制作的,我对所有人开放建议。

提前致谢。

【问题讨论】:

标签: mysql database mysql-python


【解决方案1】:

如果你真的想只选择第 1 组的行,你可以这样做

INSERT INTO lowest_quote_table 
    SELECT * FROM recent_quote_table 
    WHERE `group` = 1 
    ORDER BY `mid` ASC 
    LIMIT 1. 

如果你想要每组中中间值最低的一行,你可以做类似的事情

INSERT INTO lowest_quote_table 
    SELECT rq.* FROM recent_quote_table AS rq 
    JOIN (
        SELECT `group`, MIN(`mid`) AS min_mid FROM recent_quote_table 
        GROUP BY `group`
    ) MQ ON rq.`group` = MQ.`group` AND rq.`mid` = MQ.min_mid

【讨论】:

  • 这很好用,谢谢,我最终不得不指定各个字段以不拉动自动递增的 ID 号,但回顾我的问题,我从未指定过。干杯你为我节省了大量时间和头痛:)
猜你喜欢
  • 1970-01-01
  • 2021-01-07
  • 2018-10-12
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 2012-07-11
相关资源
最近更新 更多