`
wangrusheng5200
  • 浏览: 302477 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL 分组取MAX记录

SQL 
阅读更多

问题:求单科成绩最高的记录

物理模型图:

建表语句

create table score
(
   id                   int not null,
   stuid                varchar(32),
   subject              varchar(32),
   score                char(10),
   primary key (id)
);

初始化数据:

INSERT INTO `score` VALUES ('1', '1', '数学', '20');
INSERT INTO `score` VALUES ('2', '1', '语文', '89');
INSERT INTO `score` VALUES ('3', '1', '物理', '86');
INSERT INTO `score` VALUES ('4', '2', '数学', '90');
INSERT INTO `score` VALUES ('5', '2', '语文', '70');
INSERT INTO `score` VALUES ('6', '2', '物理', '80');

 查询sql:

select * from score t where t.score=(select max(score) from score where stuid=t.stuid)group by stuid

 

 

  • 大小: 9.1 KB
分享到:
评论

相关推荐

    sql2000分组统计

    在SQL Server 2000中,分组统计是一个核心的查询功能,它允许数据库管理员和开发者对数据进行聚合操作,以获取特定字段的汇总信息。分组统计通常涉及GROUP BY语句,配合COUNT(), SUM(), AVG(), MAX() 和 MIN()等聚合...

    sql查询重复记录方法大全

    ### SQL查询重复记录方法大全 在数据库管理与维护过程中,查询和处理重复记录是一项非常重要的工作。本文将详细介绍几种常见的SQL查询重复记录的方法,并提供具体的示例代码。 #### 方法一:查询具有重复值的记录...

    SQL学习笔记+记录sql各种应用

    这份“SQL学习笔记+记录sql各种应用”涵盖了SQL的基础概念、语法以及在实际工作中的多种应用。 一、SQL基础 1. 数据库与表:SQL中的数据库是由一个或多个表组成的集合,表由行和列构成,每一行代表一条记录,每一列...

    SQL分组查询的教学探讨.pdf

    标题和描述中提到的关键词“SQL分组查询”、“教学探讨”、“数据库课程”、“教学效果”、“聚合函数”、“笛卡尔积”、“视图”、“HAVING子句”、“WHERE子句”、“ORDER BY子句”是文章讨论的核心知识点。...

    sqlserver+group by分组查询分页存储过程

    `GROUP BY`子句在SQL查询语言中用于将数据表中的行归类为一组,通常与聚合函数如`COUNT()`, `SUM()`, `AVG()`, `MAX()`, 和 `MIN()` 结合使用,以便对每一组的数据进行统计分析。例如,如果我们有一个销售记录表,并...

    SQL数据库语言学习记录

    SQL支持INNER JOIN(仅返回匹配的记录)、LEFT JOIN(返回左表的所有记录及右表匹配的记录)、RIGHT JOIN(返回右表的所有记录及左表匹配的记录)和FULL JOIN(返回两个表中所有匹配和不匹配的记录)。 8. 子查询:...

    SQL高级实例-模糊查询-分组随机查询-转换

    `GROUP BY`语句允许我们根据一个或多个列对数据进行分组,然后使用聚合函数如`COUNT`、`SUM`、`AVG`、`MIN`和`MAX`来计算每组的总和、平均值等信息。例如,`SELECT department, COUNT(*) FROM employees GROUP BY ...

    数据库中如何分类、分组并总计SQL数据

    `GROUP BY`与`SELECT`一起使用,但`SELECT`只能包含分组列或聚合函数(如`COUNT`, `SUM`, `AVG`, `MIN`, `MAX`),因为它们提供关于每个组的信息,而不是单个记录。 3. **WHERE子句**: `WHERE`子句用于在分组之前...

    数据库中如何分类/分组并总计SQL数据

    聚合函数(如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`)在分组数据后用于计算每个组的统计信息。例如,`COUNT(*)`可以计算每个组的行数,`SUM(Amount)`可以计算总金额。 7. **使用`WHERE`和`HAVING`的规则**: `...

    SQL SERVER 分组求和sql语句

    当与聚合函数(如`SUM`, `COUNT`, `AVG`, `MAX`, `MIN`等)结合使用时,`GROUP BY`可以帮助我们计算每个分组的汇总值。在提供的示例中,`SELECT A1, SUM(A2*A3)`就使用了`SUM`函数,它将`A2`列和`A3`列的乘积进行...

    SQL中分组排序问题

    `GROUP BY`子句用于将数据根据一个或多个列进行分组,通常与聚合函数(如`COUNT`, `SUM`, `AVG`, `MIN`, `MAX`)一起使用,以便对每个分组进行统计计算。然而,对于本问题,我们更关注的是`OVER`子句,这是SQL中的...

    如何使用SQL组件查询记录.

    4. **GROUP BY**:对结果集进行分组,常与聚合函数如`COUNT()`, `SUM()`, `AVG()`, `MAX()` 和 `MIN()` 结合使用。 5. **HAVING**:与`GROUP BY`一起使用,对分组后的结果应用条件过滤。 6. **ORDER BY**:按指定...

    数据库实验(sql server):高级SQL查询(分组、统计、嵌套、组合查询【附SQL源码.TXT】)

    分组查询是SQL中一种非常重要的技术,它可以帮助我们按指定的列将数据进行分类汇总,进而实现各种复杂的统计需求。在给定的例子中,我们可以看到如何使用`GROUP BY`来分析学生选课的情况。 **示例:** ```sql ...

    C# ling to sql 取多条记录最大时间

    总结来说,无论是使用C# LINQ to SQL还是SQL查询,获取相同记录下日期最大的一条的关键在于正确地分组数据并找到每个组内的最大值。在C#中,我们可以利用LINQ的表达式树将这些查询逻辑转换为SQL语句,而在SQL中,...

    SQL中分组查询的设计与应用.pdf

    例如,如果我们有一个销售记录表,我们可以使用GROUP BY按产品类别分组,然后计算每个类别的总销售额。 ```sql SELECT ProductCategory, SUM(SalesAmount) FROM Sales GROUP BY ProductCategory; ``` 上述查询将...

    sql2003标准 sql2003标准

    1. **增强的查询能力**:SQL2003引入了更强大的查询语法,包括窗口函数(Window Functions),允许在分组后的结果集上进行计算,如ROW_NUMBER(), RANK() 和 DENSE_RANK()等。此外,还有WITH子句,用于创建临时的结果...

    SQL语句删除数据表中重复的记录

    总之,删除SQL数据表中的重复记录是一项常见的任务,可以通过结合`GROUP BY`、聚合函数(如`MAX`)以及`NOT IN`子句来实现。不过,务必谨慎操作,确保数据安全,并根据实际情况调整和优化查询。

    [数据库] SQL语句select简单记录总结1

    【SQL语句select简单记录总结1】 SQL,全称Structured Query Language,是用于管理和操作数据库的语言。在数据库领域,SQL是不可或缺的一部分,主要用于查询、插入、更新和删除数据。这里我们将对SQL语句中的`...

    sql_按照某一个字段进行去重后获取全部字段

    - `HAVING MAX(bill_id) = prtb.bill_id`:确保每个分组中选取的是具有最大 `bill_id` 的记录,并且该 `bill_id` 必须等于主查询中的 `bill_id`。 #### 实现原理 此 SQL 语句的主要目的是从 `person_real_time_...

Global site tag (gtag.js) - Google Analytics