转自 http://zhidao.baidu.com/question/112956772
create table #t(作者 nvarchar(10) ,图书ID int,图书名称 nvarchar(10), 出版日期 nvarchar(10))
insert #t
select 'a',1,'xxxxx','2008-1' union all
select 'a',2,'xxxxx','2009-1' union all
select 'b',5,'xxxxx','2007-1' union all
select 'b',8,'xxxxx','2008-2' union all
select 'a',10,'xxxxx','2009-5' union all
select 'b',20,'xxxxx','2009-8'
go
---关键查询
select * from #t,(
select 作者,max(出版日期) as '出版日期'
from #t
group by 作者) s
where #t.作者=s.作者 and #t.出版日期=s.出版日期
分享到:
相关推荐
使用Linq语法与Lambda表达式分组取泛型数组某列的最小值/最大值
其中,IN操作符是判断某个值是否在子查询结果集中 ANY操作符是判断某个值是否等于子查询结果集中的最小值 ALL操作符是判断某个值是否等于子查询结果集中的最大值。 需要注意的是,使用NOT IN操作符时,如果集合范围...
按某一字段分组取最大(小)值所在行的数据
4. MAX():返回指定列的最大值。 5. MIN():返回指定列的最小值。 在SQL Server 2000中,这些函数可以与GROUP BY一起使用,以在每个分组上应用这些操作: ```sql SELECT ProductCategory, AVG(SalesAmount) FROM ...
表:t_test -------------------------------------- id(int) cost(int) des Autoid(id) -------------------------------------- 1 10 aaaa 1 1 15 bbbb 2 1 20 cccc 3 ...取每一类id中cost最大的纪录
3. **MAX(column_name)**:找出指定列的最大值。 4. **MIN(column_name)**:找出指定列的最小值。 5. **COUNT(column_name)**:计算指定列的数量(非 NULL 值)。 ##### 示例 假设有一个学生表 `t_score`,包含以下...
### SQL分组中选取特定行的数据 在处理数据库查询时,经常会遇到需要对表中的数据进行分组,并从每个分组中选取特定行的情况。这种需求可以通过多种方法实现,包括子查询、`ROW_NUMBER()`函数以及`APPLY`操作等。...
在数据库查询语言SQL中,Group By子句是一种常用的聚合查询工具,它可以将数据集分成不同的组,对每组数据执行聚合函数操作,比如计算每个组的平均值、总和、最大值、最小值等。当与Select语句结合使用时,Group By...
此外,可能还涉及了聚合函数,如COUNT、SUM、AVG、MIN和MAX,用于计算总数、总和、平均值、最小值和最大值。 而试题作业.sql文件很可能包含了实际的练习题目,可能涵盖了更复杂的查询,如子查询(嵌套查询)、联接...
- `CYCLE`/`NO CYCLE`:当达到最大值或最小值时是否循环。 #### 删除新表 删除表使用`DROP TABLE`命令。 **语法示例:** ```sql DROP TABLE [表名称]; ``` **说明:** - 此操作将永久删除表及其所有数据和索引。 ...
3. **聚合函数**:SUM、AVG、MAX、MIN和COUNT等聚合函数用于对一组值进行计算,例如计算总和、平均值、最大值或最小值。 4. **子查询**:在查询中嵌套另一个查询,用于获取满足特定条件的数据集,可以在WHERE或FROM...
在MySQL中,获取分组后每组的最大值是一项常见的数据分析任务,这通常涉及到聚合函数和分组查询。本文将详细讲解如何使用SQL语句来实现这个功能,通过一个具体的实例来帮助理解。 首先,我们创建了一个名为`test`的...
在数据库管理中,SQL(Structured Query ...掌握这些SQL分组聚合查询技巧,对于理解数据库原理基础以及在实际工作中进行数据处理至关重要。通过不断的练习和应用,你将能够熟练地运用这些概念来解决复杂的数据库问题。
- 分组后求最大值或最小值: ```sql SELECT 分组字段, MAX(日期字段) FROM 表 GROUP BY 分组字段 ``` - 获取分组内的第一条或最后一条记录: - SQL Server中,可以使用`ROW_NUMBER()`配合`OVER`子句: ```...
- **汇总函数**:用于对一组值进行统计计算,如COUNT(计数)、SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值)等。 - **日期/时间函数**:用于处理日期和时间值,如ADD_MONTHS(增加月份)、LAST_DAY...
这两个函数分别用于找出指定列的最大值和最小值。例如,找到最高温度和最低温度: ```sql SELECT MAX(temperature) AS max_temp, MIN(temperature) AS min_temp FROM weather_data; ``` 5. **GROUP BY** 语句 ...
1. **聚合函数**:如`COUNT()`计算行数,`SUM()`求和,`AVG()`计算平均值,`MAX()`和`MIN()`找出最大值或最小值。 2. **字符串函数**:如`CONCAT()`连接字符串,`SUBSTRING()`截取字符串,`LOWER()`和`UPPER()`转换...
此查询首先计算每个部门的平均薪资,然后找出这些平均薪资中的最大值所对应的部门。 #### 示例7:子查询与聚合函数 - 找出具有最低薪资等级的部门 ```sql SELECT * FROM salgrade WHERE deptno = ( SELECT deptno ...
–按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...