2013-07-08 2 views
0

Я использую подзапрос, чтобы получить максимальный id из группы.mysql query не возвращает определенные строки с данными max (id)

Запрос возвращает max(id) из группы. Но то, что я хочу в итоге из этой таблицы:

id--------Name--------GROUP------------Result 

1---------ABC----------A----------------Pass 

2---------DEF----------B----------------FAIL 

3---------GEH----------A----------------Pass 

4---------ABC----------B----------------FAIL 

5---------DEF----------A----------------FAIL 

6---------GEH----------B----------------PASS 

Макс идентификаторы каждой группы с результатом только студенты проходят?

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

+0

Возможно, это был дан ответ уже, но в противном случае, и для ясности, рассмотреть вопрос о предоставлении ожидаемого результата. И да, в следующий раз «английский» мы предпочитаем героические рифмованные куплеты ;-) – Strawberry

+0

@Strawberry ur damn funny ... спасибо, я позабочусь о точках u, упомянутых в первой строке .... Но все еще проблема, которую я действительно хочу спросить, все еще не решена. доказываю, что я поставил свой вопрос неправильно. – NarayaN

ответ

2

@ Нараяна-это даст максимальную (ИН) для каждой группы студентов с результатом, как Pass

SELECT MAX(ID) 
FROM YourTable 
WHERE Result = 'PASS' 
GROUP BY `GROUP`; 
1

Если вы хотите только те группы, где все студенты прошли использовать

select max(id) as max_id, `group` 
from your_table 
group by `group` 
having sum(result <> 'Pass') = 0 
1
SELECT MAX(ID), GROUP 
FROM yourTable 
WHERE Result = 'Pass' 
GROUP BY GROUP 
1
Select max(id) from tablename where result = 'pass' group by Group; 

Попробуйте этот запрос, надеюсь, что это помогает

Примечание: изменить имя таблицы с требуемым именем таблицы.

Смежные вопросы