【问题标题】:mysql select lowest price from multi selectmysql 从多选中选择最低价格
【发布时间】:2014-10-27 12:26:38
【问题描述】:

表价

user_id    b01    b02    b03    b04    b05    b06    b07    b08    b09
MP01       21     32     12     34     56     26     21     21     26    
MO11       81     332    112    1      12     22     71     17     23  

如何从价格 WHERE user_id = 'MP01' 中选择最低价格?

user_id MP01 的例子,得到结果 12

【问题讨论】:

  • 最低价不应该是12吗?

标签: mysql select


【解决方案1】:

根据您的示例,我认为您的意思是结果是 12。如果是这种情况,您可以这样做

SELECT LEAST(b01, b02, b03, b04, b05, b06, b07, b08, b09) FROM price WHERE user_id = 'MP01'

【讨论】:

    【解决方案2】:

    这是 LEAST 的另一种方法。不像使用 Least 函数那么容易。但在某些情况下可能会派上用场

    SELECT MIN(b01) FROM(
    select user_id , b01 from price
    union all
    select user_id , b02 from price
    union all
    select user_id , b03 from price
    union all
    select user_id , b04 from price
    union all
    select user_id , b05 from price
    union all
    select user_id , b06 from price
    union all
    select user_id , b07 from price
    union all
    select user_id , b08 from price
    union all
    select user_id , b09 from price
    ) temp 
    WHERE user_id = 'MP01'
    

    【讨论】:

      【解决方案3】:

      您可以使用 LEAST 函数,如下所示:

      select least(b01,b02,b03,b04,b05,b06,b07,b08,b09) from price where user_id = 'MP01'

      http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least

      【讨论】:

        【解决方案4】:

        你可以使用least

        select least(b01,b02,b03,b04,b05,b06,b07,b08,b09)
        FROM Table1
        where user_id='MP01'
        

        【讨论】:

          猜你喜欢
          • 2018-03-16
          • 2019-02-15
          • 2013-01-14
          • 1970-01-01
          • 2017-10-05
          • 2014-01-05
          • 1970-01-01
          • 2016-05-28
          • 2020-10-29
          相关资源
          最近更新 更多