我要SectionNomination号桌的Sectionname号和SectionId号.我需要把SectionId组合起来才能得到最后一个部分,只有一个SectionName.

从这个表中:

enter image description here

我要一张testSection1,一张TestSection3,section ID是35.TestSection3也是一样,我想要sectionID = 37.

我编写这个查询就是为了实现这一点:

select  
    SectionName, SectionId
from 
    testTable pt, 
    (select max(SectionId) as pID 
     from testTable 
     group by SectionID) st
where 
    pt.SectionID = st.pID

这不是返回最大ID,也不是返回重复项.

以下是示例数据:

INSERT INTO [dbo].[testTable] ([SectionName])
VALUES ('TestSection1')

INSERT INTO [dbo].[testTable] ([SectionName])
VALUES ('TestSection2')

sectionId是标识列.

CREATE TABLE是以下SQL语句:

CREATE TABLE [dbo].[testTable]
(
    [SectionID] [int] IDENTITY(1,1) NOT NULL,
    [SectionName] [varchar](1000) NULL,
    
    CONSTRAINT [PK_SectionNomination] 
        PRIMARY KEY CLUSTERED ([SectionID] ASC)
)

推荐答案

你所需要的就是...

SELECT
    s.SectionName,
    MAX( s.SectionId ) AS MaxSectionId
FROM
    dbo.TestTable AS s
GROUP BY
    s.SectionName
ORDER BY
    SectionName;
SectionName MaxSectionId
TestSection1 35
TestSection3 37
TestSection4 38

DbFiddle

Sql相关问答推荐

如何退回当年的所有参赛作品?""

使用SQL旋转表的列(Snowflake)

OVER子句WITH PARTITION BY和ORDER BY忽略主查询的WHERE子句

如何将我的联接数据放入每个用户每月多行的列中?

查询页面推荐

按分类标准检索记录

如果另一个表中不存在值列,则插入失败

SQL将三个表中的三列组合为一列

使用CTE在SNOWFLAKE中创建临时表

在 Postgres 中将结果按几十年划分

如何修复初学者 SQL INNER JOIN 查询错误

从输出中删除 jsonb_build_object

Postgresql - 如何根据阈值计算累积和

我可以在 T-SQL (SQL Server) 的函数内使用 OPTION 子句吗?

多行状态下的分组查询判断状态

SQL - 只需要 GROUP BY SELECT 的一列

Select 多年的日期范围

如何更改 duckdb R 中的数据约束

创建一个将层次 struct 级别放入列中的查询

Snowflake SQL group-by 的行为不同,具体取决于列是按位置引用还是按别名引用