我在SQL中按查询结果分组数据集。该数据有一个ROW_NUMBER值。这里,如果ROW_NUMBER值是一个顺序值,我希望获得最大的ROW_NUMBER值。我怎么能做到呢?我的SQL查询是这样的:
SELECT [_NAME]
,[LINE]
,[TIMESTAMP]
,[Equipment]
,[CL_Name]
,[Status]
,[ROW_NUMBER]
FROM [dbo].[Deflection]
where [TIMESTAMP] > DATEADD(day,-1,GETDATE()) and [Status] = 0
group by [CL_Name], [Equipment], [_NAME], [LINE], [TIMESTAMP], [Status], [ROW_NUMBER]
order by [ROW_NUMBER] desc, [TIMESTAMP] desc
查询的输出如下所示:
<表类="年代桌子">_NAME 行 时间戳 设备 CL_Name 状态 ROW_NUMBER tbody><01包 2 2023-01-04 16:45:35.673 包 0 288 <01包/td> 2 2023-01-04 16:50:35.673 包 0 287 <01包/td> 2 2023-01-04 16:55:35.673 包 0 286 <02包/td> 3 2023-01-04 23:20:36.063 包 B 0 209 <03包/td> 4 2023-01-04 23:20:36.063 包 C 0 209 <03包/td> 4 2023-01-04 23:25:36.067 包 C 0 208 <03包/td> 4 2023-01-04 23:30:36.073 包 C 0 207 <03包/td> 4 2023-01-04 23:35:36.077 包 C 0 206 <01包/td> 2 2023-01-04 23:45:36.067 包 0 206 <01包/td> 2 2023-01-04 23:50:36.073 包 0 205 <01包/td> 2 2023-01-04 23:55:36.077 包 0 204 表>
您可以为每个组按降序创建一个新的行号rn
,然后为每个组选择#1。例如:
select x.*,
row_number() over(partition by cl_name order by [ROW_NUMBER] desc) as rn
from (
-- your query here
) x
where rn = 1
这里有一个缺口和孤岛问题,您可以使用两个row_number函数之间的差来解决它,如下所示:
Select Top 1 With Ties
_NAME, LINE, TIMESTAMP, Equipment, CL_Name, Status, [ROW_NUMBER]
From
(
Select *,
ROW_NUMBER() Over (Order By TIMESTAMP) -
ROW_NUMBER() Over (Partition By _NAME Order By TIMESTAMP) As grp
From table_name
) T
Order By ROW_NUMBER() Over (Partition By _NAME, grp Order By [ROW_NUMBER] Desc)
等价于以下内容:
With create_groups AS
(
Select *,
ROW_NUMBER() Over (Order By TIMESTAMP) -
ROW_NUMBER() Over (Partition By _NAME Order By TIMESTAMP) As grp
From table_name
),
max_row_num AS
(
Select *,
ROW_NUMBER() Over (Partition By _NAME, grp Order By [ROW_NUMBER] Desc) As rn
From create_groups
)
Select _NAME, LINE, TIMESTAMP, Equipment, CL_Name, Status, [ROW_NUMBER]
From max_row_num
Where rn = 1
Order By _NAME, TIMESTAMP
看到演示
我会选择:
SELECT CL_Name,
MAX(ROW_NUMBER)
FROM [dbo].[Deflection]
GROUP BY ROW_NUMBER
相关内容
- 没有找到相关文章
最新更新
- 我试图在这个excel csv类型文档中打印类下的所有项目,但我一直得到属性错误
- 尝试检查文档是否有字段存在,如果存在,在pymongo中编辑它
- 无法通过 CNG API 将生成的公钥从 NodeJS 加载到 Windows 中
- 在一个组件vuejb中有两个不同的数组
- 是否可以创建json键作为typescript对象?
- 设置数据库中列的对齐方式
- 使用DHTxx.Dht11读取数据
- 拒绝Kubernetes pod上的出口流量到internet
- Wordpress中的漂亮Url
- Google Cloud Project : Access Issues
- Photoshop脚本文件名/后缀
- 当文件的内容(Flux<DataBuffer>)包装在另一个对象中时,无法使用Web客户端上传文件
- 如何在SQL Server中使用动态作业名杀死作业列表
- CSS文件在React组件文件中不工作
- 如何在日历中添加具有编辑事件能力的人?
- 我的 Pip 安装已损坏,我不知道如何重新安装它 [MAC/OSX]
- 为圆环添加背景色
- pandas dataframe检查特定位置中的值是否为NaN值
- 在python 3.8.2上使用pip下载selenium时出现语法错误
- Visual Studio 2019企业版离线安装失败
- python中小写和大写的排列
- 在aws实例中安装rhel中的jenkins时出错
- 在colab中使用python从谷歌驱动器读取图像
- 如何根据映射到染色体的读数将bam文件拆分为单独的bam
- JUnit测试简单的GUI
- r语言 - 使用针织从 rstudio 更改.pdf文档的章节(部分)的样式 包装乳胶 "titlesec"
- 选择所有在jquery中选择的插件
- 如何在材料UI中设置未来时间<文本字段类型="日期时间-本地" />
- ImageData在获取一个像素时是不同的
- NVRTC编译什么时候应该产生一个CUBIN?
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium