查询数据表里所有重复里的单条记录

简介:
测试脚本:
CREATE TABLE [dbo].[TEST](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[TID] [int] NULL,
	[Discription] [nvarchar](200) NULL
)  
--测试数据
DELETE FROM TEST
INSERT INTO TEST (TID,Discription)VALUES (1,'记录1-1')
INSERT INTO TEST (TID,Discription)VALUES (1,'记录1-2')
INSERT INTO TEST (TID,Discription)VALUES (1,'记录1-3')
INSERT INTO TEST (TID,Discription)VALUES (1,'记录1-4')
INSERT INTO TEST (TID,Discription)VALUES (1,'记录1-5')
INSERT INTO TEST (TID,Discription)VALUES (2,'记录2-1')
INSERT INTO TEST (TID,Discription)VALUES (2,'记录2-2')
INSERT INTO TEST (TID,Discription)VALUES (2,'记录2-3') 

SELECT * FROM TEST
查询结果:

TID为重复字段,现在需找出所有TID中ID字段值最大的记录。

如下图所示:


解决办法:GROUP BY() 函数+Max()函数

SELECT * FROM TEST WHERE ID IN (SELECT MAX(ID)FROM Test GROUP BY TID )

目录
相关文章
|
10天前
|
存储 关系型数据库 索引
10. 在一个非主键字段上创建了索引, 想要根据该字段查询到数据, 需要查询几次 ?
在非主键字段上创建索引,查询数据通常需两次。对于MyISAM,先通过索引找到数据行指针,再获取数据;而InnoDB则先找主键ID,再从主键索引中查找数据。
11 0
|
5月前
|
Oracle 关系型数据库 MySQL
根据一张表更新另一张表
根据一张表更新另一张表
|
C++ 索引
C/C++编程题之合并表记录
C/C++编程题之合并表记录
|
SQL
**SQL某一表中重复某一字段重复记录查询与处理
sql某一表中重复某一字段重复记录查询与处理   1.查询出重复记录  select 重复记录字段 form  数据表 group by houseno having count(重复记录字段)>1 2.
927 0
|
SQL 关系型数据库 MySQL
解决高并发下insert到数据库表多条记录的问题
解决高并发下insert到数据库表多条记录的问题
389 0
解决高并发下insert到数据库表多条记录的问题
|
SQL 算法 关系型数据库
Mysql查询某条记录在分页的第几页
Mysql查询某条记录在分页的第几页
449 0
|
SQL
SAP利用内表删除多条数据(自定义表)
之前博文提到了使用abap中的sql语句删除某一条自定义表中的记录。下面ji介绍一下,如何通过内表,一次性删除多行记录。自定义表的结构 FUNCTION ZFM_FI_ZFIT00200. *"----------------------------------------------------.
3170 0