`
sungly
  • 浏览: 5672 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

解决“每个Y的最新X”SQL问题:

阅读更多
在实际的工作和学习中,“每个Y的最新X”是大家经常遇到的问题。请注意这不是“按Y分组求最新的X值”,而是要求最新X的那条记录或主键ID。下面我们用一条SQL语句来解决此问题。

生成实例表和数据:

--创建表
CREATE TABLE dbo.Tab
    (
    ID int NOT NULL IDENTITY (1, 1),
    Y varchar(20) NOT NULL,
    X datetime NOT NULL
    )
GO
--插入数据
INSERT INTO Tab(Y, X) values('BBB', '2007-10-23 11:11:11')
INSERT INTO Tab(Y, X) values('BBB', '2007-10-23 11:11:11')
INSERT INTO Tab(Y, X) values('BBB', '2007-10-23 10:10:10')
INSERT INTO Tab(Y, X) values('AAA', '2007-10-23 12:12:12')
INSERT INTO Tab(Y, X) values('AAA', '2007-10-23 10:10:10')
INSERT INTO Tab(Y, X) values('AAA', '2007-10-23 11:11:11')
GO

解决“每个Y的最新X”SQL问题:

--一条SQL语句实现
SELECT ID, Y, X
FROM Tab T
WHERE (NOT EXISTS
(SELECT 1
FROM Tab T2
WHERE (T2.Y = T.Y) AND (T2.X > T.X OR
T2.X = T.X AND T2.ID > T.ID)))
分享到:
评论
1 楼 ebeach 2009-12-14  
 -- 一句SQL
  SELECT t.col1, max(t.col2) 
    FROM Tab t
GROUP BY t.col1

相关推荐

    一条语句简单解决“每个Y的最新X”的经典sql语句

    “每个Y的最新X”是一个经典的SQL问题,工作中经常碰到。当然不是“按Y分组求最新的X值”那么简单,要求最新X的那条记录或主键ID。用一条SQL语句可以简单的解决此问题。 生成实例表和数据:

    easyload 9.0

    每个参数的具体描述如下: SPATIALTYPE NOTE: This column describes the Spatial Object Format of how the data is stored and indexed and the Spatial Object type(s) supported and not supported in the column...

    黄淮学院2010学年第二学期SQL server期末考试

    求每个交易所的平均单价的SQL语句是_________。 A、SELECT(交易所,avg(单价) FROM stock GROUP BY 单价 B、SELECT(交易所,avg(单价) FROM stock ORDER BY 单价 C、SELECT(交易所,avg(单价) FROM stock ORDER ...

    SQL sever 实训

    X祕BwL0 17240671-1.sql ?年3月9日 --1.查询course表的所有信息(所有行所有列) USE Xk GO SELECT * FROM Course --有哪些种类的选修课?学分是多少 USE XK GO SELECT Kind,Credit FROM Crouse GO 修改列名字 ...

    09++SQL函数的使用

    在介绍函数的使用之前,先应知道SQL 函数是不通用的。SQL 函数与前面所讲的SQL ...它们在不同的数据库管理系统中不能通用,因为每一个数据库管理系统都有一套自己的SQL 函数,只 有很少的函数在大多数DBMS 中都能使用

    数据库系统概论名词解释.doc

    若对于R(U)的任意一个可 能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则 称X函数确定Y或Y函数依赖于X,记作X Y。 2.可串行性: 3.封锁: 封锁就是事务可以向系统发出请求,对某个数据...

    sql游戏

    这是一个疯狂的项目, 在SQL中实现的游戏性。... 每个测试具有以下形式: name --- the sequence of movements from (w,x,y,z) to (w,x,y,z) from (w,x,y,z) to (w,x,y,z) ... --- an assertion query

    【最新仿59store校园o2o系统 v6.8】夜猫店+校园超市+学生街+微信公众号绑定+校园跑腿插件,完整版源码下载

    3.不能正常安装,一直停留在安装界面:可以直接导入install/xyo2o.sql, 创建config/install.lock,更改config/config.php数据库配置,后台默认密码 admind admin 如果不是清空admin表 4.访问出现请关闭全局变量:请在...

    codility:Codility实践问题解决方案

    源代码使用Java编写,每个源文件都包含对所用算法的描述。 经验教训 我的解决方案 困难 1个 ( ) 以整数的二进制表示形式找到最长的零序列。 无痛 2 ( ) 将数组向右旋转给定数量的步骤。 无痛 3 ( ) ...

    校园o2o系统v6.8 仿59store夜猫店校园超市学生街校园跑腿插件

    3.不能正常安装,一直停留在安装界面:可以直接导入install/xyo2o.sql, 创建config/install.lock,更改config/config.php数据库配置,后台默认密码 admind admin 如果不是清空admin表 4.访问出现请关闭全局变量:请在...

    仿59store校园o2o系统 v2.71

    3.不能正常安装,一直停留在安装界面:可以直接导入install/xyo2o.sql,创建config/install.lock,更改config/config.php数据库配置,后台默认密码 admind admin 如果不是清空admin表 4.访问出现请关闭全局变量:请在...

    研究生分布式数据库参考习题

    1.2. 某个大学中有若干系,且每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授、副教授每个人带若干名研究生。每个班有若干名学生,每个学生可选修若干门课程,每门课程可由若干学生选修。完成下列...

    网市场云建站系统v3.5,在线开通网站,自动分配二级域名

    打破传统建站的高成本,让每个人都能有自己的网站! 功能简介: 1.在线开通网站 2.自动分配二级域名 3.在线绑定域名 4.(半)可视化界面编辑 5.成熟的云端模版库一键导入创建网站 6.网站页面100%全部自定义的模版...

    仿59store校园o2o系统 v2.42校园o2o系统 得推校园O2O系统 仿59store

    3.不能正常安装,一直停留在安装界面:可以直接导入install/xyo2o.sql,创建config/install.lock,更改config/config.php数据库配置,后台默认密码 admind admin 如果不是清空admin表 4.访问出现请关闭全局变量:请在...

    分布式数据库试题及答案.doc

    1.2. 某个大学中有若干系,且每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授、副教授每个人带若干名研究生。每个班有若干名学生,每个学生可选修若干门课程,每门课程可由若干学生选修。完成下列...

    数据库系统原理总结.pdf

    关键码:主键,外键,约束 范式: 1NF:关系模式中R的每个关系r的属性值都是不可再分的原⼦值,R为1NF 2NF:关系模式R为1NF,且每个⾮主属性完全函数依赖于后续案件,为2NF 3NF:关系模式R为1NF,且每个⾮主属性都...

    仿59store校园o2o系统 v2.5 校园o2o系统 得推校园O2O系统 仿59store

    3.不能正常安装,一直停留在安装界面:可以直接导入install/xyo2o.sql,创建config/install.lock,更改config/config.php数据库配置,后台默认密码 admind admin 如果不是清空admin表 4.访问出现请关闭全局变量:请在...

    oracle详解

    这样将创建f1.dmp, f2.dmp等一系列文件,每个大小都为2G,如果导出的总量小于10G EXP不必创建f5.bmp. IMP常用选项 1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。例如:假设我们...

    【仿59store校园o2o系统 v6.8】夜猫店+校园超市+学生街+微信公众号绑定+校园跑腿插件

    3.不能正常安装,一直停留在安装界面:可以直接导入install/xyo2o.sql, 创建config/install.lock,更改config/config.php数据库配置,后台默认密码 admind admin 如果不是清空admin表 4.访问出现请关闭全局变量:请在...

Global site tag (gtag.js) - Google Analytics