这个sql语句为什么搞不定?sql高手请进!
ming1 2000-09-08 10:17:00 SELECT DISTINCT 序号, 参赛者号码, 成绩第次, 成败, 成绩, MAX( 成绩 ) Fieldmatch."Max(Fieldmatch.成绩)"
FROM "FieldMatch.DB" Fieldmatch
WHERE 成败 = 't'
GROUP BY 参赛者号码, 成绩, 序号, 成绩第次, 成败
HAVING (COUNT( 参赛者号码 ) = 1)
ORDER BY Fieldmatch."Max(Fieldmatch.成绩)" DESC
执行上面这条sql语句,为什么会得到以下情况的结果集:
1.具有相同”参赛者号码“的记录仍然会出现多条,count(fieldname)=1有用吗? (10分)
2.Group by 一定要选全table所有字段吗,否则会报错,这还有什么用呢?(10分)
3.Delphi的Query 控件支持 top 用法吗,为什么一用就报错?有办法只显示n条记录吗?(10分)
4.想要得到成绩排在前8名的不同运动员号码的降序(以成绩)结果集,怎么写sql(20分)