dard SQL,您不需要按所有非聚合列进行分组。如果分组列在投影中,MySQL允许人们跳过分组声明。如果ANSI标准包含了这一特性,那就太好了。我认为第二个查询也应该返回相同的3行?这取决于[index]值对于表是否唯一(主键、唯一外键等)。请给出您的表
dard SQL,您不需要按所有非聚合列进行分组。如果分组列在投影中,MySQL允许人们跳过分组声明。如果ANSI标准包含了这一特性,那就太好了。我认为第二个查询也应该返回相同的3行?这取决于[index]值对于表是否唯一(主键、唯一外键等)。请给出您的表,sql,mysql,Sql,Mysql,dard SQL,您不需要按所有非聚合列进行分组。如果分组列在投影中,MySQL允许人们跳过分组声明。如果ANSI标准包含了这一特性,那就太好了。我认为第二个查询也应该返回相同的3行?这取决于[index]值对于表是否唯一(主键、唯一外键等)。请给出您的表定义,好吗?我认为第二个查询也应该返回相同的3行?这取决于[index]值对于表是否唯一(主键、唯一外键等)。给我们讲讲你的桌子定义,好吗?我不太明白你的意思;介意用一个具体的例子来阐明你的观点吗?我不太明白你的意思;介意用一个具体的例子来阐明
dard SQL,您不需要按所有非聚合列进行分组。如果分组列在投影中,MySQL允许人们跳过分组声明。如果ANSI标准包含了这一特性,那就太好了。我认为第二个查询也应该返回相同的3行?这取决于[index]值对于表是否唯一(主键、唯一外键等)。请给出您的表定义,好吗?我认为第二个查询也应该返回相同的3行?这取决于[index]值对于表是否唯一(主键、唯一外键等)。给我们讲讲你的桌子定义,好吗?我不太明白你的意思;介意用一个具体的例子来阐明你的观点吗?我不太明白你的意思;介意用一个具体的例子来阐明你的观点吗?
SELECT id, max(index) from table;
SELECT id, index from table where index=(select max(index) from table);
id_1 100
id_2 100
id_3 100
id_3 100
SQL> select pk, max(idx)
2 from whatever
3 group by pk
4 /
PK MAX(IDX)
---------- ----------
1 10
2 50
3 100
SQL> select pk, idx
2 from whatever
3 where idx in ( select max(idx) from whatever)
4 /
PK IDX
---------- ----------
3 100
SQL>
SQL> select pk, max(idx)
2 from whatever
3 group by pk
4 /
PK MAX(IDX)
---------- ----------
1 100
2 100
3 100
SQL> select pk, idx
2 from whatever
3 where idx in ( select max(idx) from whatever)
4 /
PK IDX
---------- ----------
1 100
2 100
3 100
SQL>
SELECT id, max(index) from table;
SELECT id, index from table where index=(select max(index) from table);