2017-07-04 38 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(日期)顯示日期'