2013-08-18 3 views
1

У меня три строки в таблице. Я пытаюсь получить и отобразить последнюю строку таблицы, и вместо этого она всегда отображает результат средней строки.PHP: получить последнюю строку в базе данных с помощью mysql

Я попытался использовать "DESC" или "DESC LIMIT 1", но все еще не работает.

Пример:

У меня есть 3 строки в моей таблице tbldata.

0:5 

0:10 

0:15 

Запрос для этого:

$result = mysql_query("SELECT fldBldgName, fldTimestamp, 
MIN(fldTotalDuration)fldTotalDuration 
FROM tbldata  
WHERE fldNetname = '".$network."' 
AND fldBldgName = '".$bldg[$i]."'  
AND fldWeek = '".$week."' 
AND fldMonth = '".$month."' 
GROUP BY fldBldgName 
ORDER BY fldBldgName,fldTimestamp, fldTotalDuration DESC"); 

Я уже пробовал также в ID to order по-прежнему, но ее не работает. Я попробовал timestamp, но все еще не работал.

Результат для этого запроса - всегда "0:10", правильный выход должен быть "0:15".

Но если у меня есть 2 строки только:

0:5 

0:10 

результат: 0:10 который является правильным

И так, я также попробовал вручную запросить его в phpmyadmin, но он по-прежнему делает не отображать последнюю строку.

+0

try SELECT * FROM tbl ORDER BY id DESC Какой выход? –

+0

@ T_01..из результата: 0:15, 0:10, 0: 5 –

+0

так, что это работает? –

ответ

3

Предполагая, что у вас есть поле id с AUTO_INCREMENT.

Тогда попробуйте этот

SELECT * FROM tbl ORDER BY id DESC LIMIT 1; 

Ваше использование MIN(fldTotalDuration) и GROUP BY был полностью запутать результат вы были после.

+0

@RiggsFolly ... теперь я знаю ... его работа сейчас ... и большое спасибо. –