2014-11-09 6 views
1

Я хочу выбрать одну строку из моего db, используя такой запрос: Select * FROM List WHERE personStat='waiting' AND depId='Admin' AND min(categoryTime);. Где я могу использовать 3 фильтра: Ожидание, Администратор и минимальный период времени.Php Select * Where Min() Query

Как я могу написать свой запрос?

ID  | personStat  | depId | CategotyTime 
-------------------------------------------------------- 
2  | waintig   | Admin | 10 
5  | waiting   | Admin | 5  This will be the answer!!! 
7  | atending   | Conse | 30 
10  | atending   | Eco  | 20 
55  | complete   | Eco  | 10 
+0

http://dev.mysql.com/doc/refman/5.0/ru/group-by-functions.html - вы также можете заказать по CategotyTime и получить первую строку. –

ответ

0

почему бы не использовать

Select * FROM List WHERE personStat='waiting' AND depId='Admin' ORDER BY categoryTime ASC LIMIT 1 

может быть, вы пробовали:

Select * FROM List WHERE personStat='waiting' AND depId='Admin' AND categoryTime=min(categoryTime); 

, но это не будет работать в случае мин (categoryTime) составляет 5, а самая низкая categoryTime для фильтров 10 (к примеру)

+0

'ASC LIMIT 1' работа для меня Спасибо большое :) –

0

И мин (categoryTime)

Select * FROM List WHERE personStat='waiting' AND depId='Admin' AND 'CategotyTime' >10; 

может быть и так?

+0

Мех, это не очень хороший ответ. Прости. –

0

Используйте заказ по и предел:

SELECT * FROM List WHERE personStat='waiting' AND depId='Admin' ORDER BY CategotyTime ASC LIMIT 1;