用order by吧....然后加if参数。。。
感觉group by貌似可以,只有人名相同的才需要筛选一个信息,那可以按人名或者身份证分组下,然后取一个id最小值。
SELECT MAX(id),驾校,身份证,姓名,类型,MAX(日期),CASE WHEN MAX(状态)<>MIN(状态)
THEN '办结' ELSE MAX(状态) END
FROM TABLE GROUP BY 驾校,身份证,姓名,类型
select 表名 where id in (select max(id) from 表名 group by 驾校、身份证、日期、状态 )
union
其他条件的