Mysql 对sql进行分组时选择行

Mysql 对sql进行分组时选择行,mysql,sql,Mysql,Sql,这将获得id=1的行,如何获得id最大的行?我想得到场_1=b。实现这一点最简单的方法是什么 谢谢你的帮助 此表达式未按定义获取第一行的值: id | field_1 | field_2 1 | a | 1 2 | b | 1 SELECT id, field_1 FROM table GROUP BY field_2 SELECT t1.id, t1.field_1, t2.IdSum FROM table t1 INNER JOIN ( SELECT fi

这将获得id=1的行,如何获得id最大的行?我想得到场_1=b。实现这一点最简单的方法是什么

谢谢你的帮助

此表达式未按定义获取第一行的值:

id | field_1 | field_2
1  | a       | 1
2  | b       | 1

SELECT id, field_1 FROM table GROUP BY field_2
SELECT t1.id, t1.field_1, t2.IdSum
FROM table t1
INNER JOIN
(
  SELECT field_2, MAX(id) id, SUM(id) IdSum
  FROM  Table
  GROUP BY field_2
) t2  on t1.id = t2.id
     AND t1.field_2 = t2.field_2;
它是做什么的?它从任意行中为field2的每个值获取值。任意行可以是第一行,但不能保证。请查看隐藏列的列表以了解这一点

在MySQL中,您需要一个连接来获取id最高的行。以下是一种方法:

SELECT id, field_1
FROM table
GROUP BY field_2
这将为field2的每个值获取id最高的所有行。

根据定义,此表达式不获取第一行的id:

SELECT t1.id, t1.field_1, t2.IdSum
FROM table t1
INNER JOIN
(
  SELECT field_2, MAX(id) id, SUM(id) IdSum
  FROM  Table
  GROUP BY field_2
) t2  on t1.id = t2.id
     AND t1.field_2 = t2.field_2;
它是做什么的?它从任意行中为field2的每个值获取值。任意行可以是第一行,但不能保证。请查看隐藏列的列表以了解这一点

在MySQL中,您需要一个连接来获取id最高的行。以下是一种方法:

SELECT id, field_1
FROM table
GROUP BY field_2

这将为field2的每个值获取id最高的所有行。

谢谢!我还想返回组包含的行数,我尝试将SUM1添加到第一个SELECT,但这导致分组失败。你知道怎么做吗?谢谢!我还想返回组包含的行数,我尝试将SUM1添加到第一个SELECT,但这导致分组失败。你知道怎么做吗?谢谢,解释得很好。谢谢,解释得很好。另请参见: