2013-07-08 36 views
0

我正在使用子查询从组中获取最大ID。mysql查询不返回具有最大(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 

是每个组的最大id是否只有通过学生的结果?

对于用来描述我的问题的那种英语感到抱歉。

+0

也许,这已经被否则回答,并且为了清楚,考虑提供预期的结果。是的,对于下一次'我们喜欢的那种英语',我们更喜欢英雄用韵的对联;-) – Strawberry

+0

@Strawberry你该死的有趣......谢谢我会照顾你在第一行中提到的点...... 但是仍然是我真正想问的问题仍然没有解决。 可能我以错误的方式提出了我的问题。 – NarayaN

回答

2

@纳拉扬,这会给每个组学生的MAX(ID)与结果作为通行证

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; 

试试这个查询组,希望这有助于

注:改变与所需的表名的表名。