h***r 发帖数: 184 | 1 一个select query,criteria是field1等于1,field2是group by field3里最大的。
我写了下面的query,可是总告诉我最多只能return一个record,而在我的data set里
符合标准的应该有几百个才对。我用Access2007。请高人指点。
SELECT Table.*
FROM Table
WHERE Field1 = 1
AND Table.Field2 = (SELECT max(Field2) FROM Table GROUP BY Field3) |
a9 发帖数: 21638 | 2 field2 in?
【在 h***r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 一个select query,criteria是field1等于1,field2是group by field3里最大的。 : 我写了下面的query,可是总告诉我最多只能return一个record,而在我的data set里 : 符合标准的应该有几百个才对。我用Access2007。请高人指点。 : SELECT Table.* : FROM Table : WHERE Field1 = 1 : AND Table.Field2 = (SELECT max(Field2) FROM Table GROUP BY Field3)
|
B*********L 发帖数: 700 | 3
try this:
SELECT Table.*
FROM Table
WHERE Field1 = 1
AND Table.Field2 = (SELECT max(Field2) FROM Table)
【在 h***r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 一个select query,criteria是field1等于1,field2是group by field3里最大的。 : 我写了下面的query,可是总告诉我最多只能return一个record,而在我的data set里 : 符合标准的应该有几百个才对。我用Access2007。请高人指点。 : SELECT Table.* : FROM Table : WHERE Field1 = 1 : AND Table.Field2 = (SELECT max(Field2) FROM Table GROUP BY Field3)
|
B*****g 发帖数: 34098 | 4 SELECT t1.*
FROM Table t1
WHERE t1.Field1 = 1
AND t1.Field2 = (SELECT max(t2.Field2) FROM Table t2 where t2.Field3 =t1.
Field3 )
GROUP BY t1.Field3
【在 h***r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 一个select query,criteria是field1等于1,field2是group by field3里最大的。 : 我写了下面的query,可是总告诉我最多只能return一个record,而在我的data set里 : 符合标准的应该有几百个才对。我用Access2007。请高人指点。 : SELECT Table.* : FROM Table : WHERE Field1 = 1 : AND Table.Field2 = (SELECT max(Field2) FROM Table GROUP BY Field3)
|
g***l 发帖数: 18555 | 5 SELECT max(Field2) FROM Table GROUP BY Field3 出来时一个SET的VALUES,你是没
显示FIELDS3, 不是一个确定的数值,所以不行,因为没有FIED3显示,你的INNER QUERY
出来没有意义,这个GROUP BY肯定是要放在外面的,BEIJING好像是对的。但每个FIELD3只能有一个RECORD,还不是你想要的 |
g***l 发帖数: 18555 | 6 保险起见Access里写两个QUERY吧
QUERY1: SELECT FIELD3, MAX(FIELD2) AS MAXFIELD2 FROM TABLE GROUP BY FIELD3
QUERY2: T.* FROM QUERY1 Q1, TABLE T WHERE FIELD1=1
AND Q1.MAXFIELD2=T1.FIELD2 AND Q1.FIELD3=T.FIELD3 |
p*********d 发帖数: 136 | 7 BlueTigerBL 建议的
SELECT Table.*
FROM Table
WHERE Field1 = 1
AND Table.Field2 = (SELECT max(Field2) FROM Table)
应该 work 吧 |
g***l 发帖数: 18555 | 8 这个返回的是最大FIELD2的一组值,LZ要的是GROUP BY FIELD3,每一个FIELD3里面最大
FIELD2的记录
【在 p*********d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : BlueTigerBL 建议的 : SELECT Table.* : FROM Table : WHERE Field1 = 1 : AND Table.Field2 = (SELECT max(Field2) FROM Table) : 应该 work 吧
|
a9 发帖数: 21638 | 9 难道我推荐的in也不能用?
【在 g***l 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这个返回的是最大FIELD2的一组值,LZ要的是GROUP BY FIELD3,每一个FIELD3里面最大 : FIELD2的记录
|
g***l 发帖数: 18555 | 10 不能用,INNER QUERY出来的是个集合,每个FIELD3---MAX FIELD2,OUTER QUERY没法
直接QUERY这个集合,只能是JOIN起来
【在 a9 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 难道我推荐的in也不能用?
|