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);