从mysql中选择三个唯一(或不同)值

时间:2013-09-26 17:50:00

标签: mysql distinct

数据库如下所示:http://sqlfiddle.com/#!2/cc89c

列翻译以更好地理解它: pardavejas - 卖家, kaina - 价格, data - 日期

我需要获得每个model_id和pardavejas组的最新价格。

查询“应该”如下:

SELECT DISTINCT `pardavejas`, DISTINCT `model_id`... order by date and have only the latest date

感谢您的帮助。

P.S。基本上我正在为每个型号和卖家制作价格历史记录。我需要在没有任何较旧日期的情况下获得最新价格。

2 个答案:

答案 0 :(得分:2)

从声音来看,这可行:

SELECT MAX(date), pardavejas, model_id
FROM kainosn
GROUP BY pardavejas, model_id

这将为您提供每个唯一的最大日期(pardavejas,model_id)

答案 1 :(得分:1)

distinct关键字对行进行重复数据删除,您只需要编写一次:

select distinct `pardavejas`, `model_id`, `date`
from `kainosn`

这将返回所有唯一的行。

但是,如果您想要最大日期,group by是可行的方法:

select pardavejas, model_id, max(`date`) as maxDate
from kainosn
group by pardavejas, model_id

这将为您提供pardavejasmodel_id的每个独特组合的最长日期。