SQL 查詢每一組最後一條記錄並顯示在同一表內

一、問題描述:

--1.創建數據表
 create table DB_TABLE_NAME 
 (
 TN_COLUMN_ID  numeric (18, 0) IDENTITY(1,1) NOT NULL,
 TN_COLUMN_NAME nvarchar(20) not null,
 TN_COLUMN_ADD_TIME datetime not null
 )
--2.添加數據 添加多次以模擬同一組有多條數據的情況
  insert DB_TABLE_NAME values('第一組',(CONVERT(varchar(100), GETDATE(), 20))) 

  insert DB_TABLE_NAME values('第二組',(CONVERT(varchar(100), GETDATE(), 20))) 

  insert DB_TABLE_NAME values('第三組',(CONVERT(varchar(100), GETDATE(), 20))) 

  insert DB_TABLE_NAME values('第四組',(CONVERT(varchar(100), GETDATE(), 20)))  

1.1 查詢結果展示
在這裏插入圖片描述
1.2 需求描述
在同一組存在多條數據的情況下,查出每一組最後一條紀錄並顯示在同一表內。比如:
在這裏插入圖片描述

二、解決方案:

NO.1

--方案一
  SELECT * from DB_TABLE_NAME where TN_COLUMN_ID in (
  SELECT max(TN_COLUMN_ID) as MAX_TN_COLUMN_ID  from DB_TABLE_NAME group by TN_COLUMN_NAME


效果展示:
在這裏插入圖片描述
NO.2

--方案二
 SELECT * from DB_TABLE_NAME where TN_COLUMN_ID in (
 SELECT  top(1) TN_COLUMN_ID  FROM DB_TABLE_NAME WHERE TN_COLUMN_NAME='第一組' ORDER BY TN_COLUMN_ID desc 
 union
 SELECT  top(1) TN_COLUMN_ID FROM DB_TABLE_NAME WHERE TN_COLUMN_NAME='第二組' ORDER BY TN_COLUMN_ID desc)

效果展示
在這裏插入圖片描述

三、本文結束

如果這篇博客對您有所幫助的話,將是我的榮幸,如果能夠再點個讚的話,將是多麼美好的一件事。在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章