sql分组取最大记录方法
先看看group by 语句的用法
GROUP BY 语句
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SQL GROUP BY 语法 点击可查看源文
| 代码如下 | |
|
SELECT column_name, aggregate_function(column_name) |
|
在SQL的 语句一起使用同样数目的SQL聚合函数提供分组的某些数据库教程表列(第结果数据集方法)。
实例
以下是 test 表,测试sql
| 代码如下 | |
|
CREATE TABLE IF NOT EXISTS `test` (
|
|
实现sql语句
| 代码如下 | |
|
SELECT A.* FROM test A, |
|
这样我们只要取集合的还desc排序的第一条就可以了。
再看个mssql server实例
例如 table1(a,b,c,d)
| 代码如下 | |
|
a b c d 4 0 c4 d4 5 1 c5 d5 6 1 c7 d7 |
|
我要得到的是按a分组,在每个分组中取b值最大的一条记录,就是
| 代码如下 | |
| a b c d 1 3 c3 d3 4 0 c4 d4 5 2 c6 d6 6 4 c8 d8 |
|
方法一
| 代码如下 | |
|
select * from table1 where b in (select max(b) from table1 group by a) ; |
|
方法二
| 代码如下 | |
|
select * from table1 a where b=(select max(b) from table1 where a=a.a) |
|
好了就讲这么多了,希望对大家有用。
- 上一篇:mysql数据库主从配置详解
- 下一篇:mysql无法启动问题分析与解决办法






