如何使用mysql函数" min()"在一个查询中有两个条件

时间:2014-12-26 15:20:15

标签: mysql min

我有一个项目表,有些是二手的,有些是新的,

我想查询一下这个项目的新版本以及二手版本的最低价格。

我有一个名为" new"的布尔字段。谁告诉该项目是否是秒针

结果我必须做两个查询,但我认为它可能只做一个

查询秒针:

SELECT  ref_product, MIN( price ) 
FROM item_list
WHERE new = 0
GROUP BY ref_produit

查询新内容:

SELECT  ref_product, MIN( price ) 
FROM item_list
WHERE new = 1
GROUP BY ref_produit

我想要那样的结果:

  

ref_product | min_price_for _secondhand | min_price_for_new

3 个答案:

答案 0 :(得分:1)

SELECT  ref_product, 
        MIN(case when new = 1 then price else null end) as new_price,
        MIN(case when new = 0 then price else null end) as used_price
FROM item_list
GROUP BY ref_product

答案 1 :(得分:0)

尝试类似:

SELECT ref_product, MIN( price ) 
FROM item_list 
WHERE new in (0,1)
GROUP BY new, ref_product

答案 2 :(得分:0)

将条件放在new上(获取所有产品)并按ref_produit' then by new`分组:

SELECT ref_product, new, MIN(price) AS min_price
FROM item_list
GROUP BY ref_produit, new