2017-07-04 40 views
2

我想选择我的数据库的非重复记录,如果有一个重复,请选择最快的日期之一。要做到这一点,我已经试过以下查询:Mysqli查询 - 分组依据并选择最低

SELECT name, MIN(date) FROM `table` GROUP BY number_offer ORDER BY `date` ASC 

,然后,显示他们是这样的:

echo $row['fecha']; 
echo $row['name']; 

查询选择正确的所有非重复的记录,但在选择越早日期失败(它说'未定义索引“日期”')。你有什么想法如何做到这一点?

+0

你想用'MIN(日期)订购'? – TZHX

+0

我想选择我的数据库的非重复记录,如果有一个重复的记录,选择一个与最短日期。 – alberzyzz

+3

Min(date)as date – Strawberry

回答

2

索引失败是与缺少别名

SELECT name, MIN(date) as `date` 
FROM `table` 
GROUP BY number_offer 
ORDER BY `date` ASC 

,但你是不是在SQL已经过时
组选择的名称和分组由number_offer ..the选择列不aggreation功能最近开始DB版本

你应该重新评估您查询使用适当的组由如:

,如果你选择的名字,你应该按名称(而不是number_offer)

SELECT name, MIN(date) 
FROM `table` 
GROUP BY name 
ORDER BY `date` ASC 
0

ü可以设置 'MIN(日期)为显示日期' 或 'MIN(日期)显示日期'