广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >SQLServerRANK()排名函数的使用
  • 270
分享到

SQLServerRANK()排名函数的使用

2024-04-02 19:04:59 270人浏览 独家记忆
摘要

本文主要介绍了sqlServer RANK() 排名函数的使用,具体如下: -- 例子表数据 SELECT * FROM test; -- 统计分数 SELECT n

本文主要介绍了sqlServer RANK() 排名函数的使用,具体如下:

-- 例子表数据
SELECT * FROM test;
-- 统计分数
SELECT name,SUM(achievement) achievement FROM test GROUP BY name; 
-- 按统计分数做排行
SELECT RANK() OVER( ORDER BY SUM(achievement) desc) 排行,name,SUM(achievement) achievement FROM test GROUP BY name;

求助问答存储过程使用:

USE [DB]
Go
 

SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
 
-- =============================================
-- Author:		_Hey_Jude
-- Create date: 2021-01-26
-- Description:	获取今日发表帮助/回复的新用户
-- =============================================
CREATE PROCEDURE [dbo].[sp_TodayJoinUser] 
	@tableLevel int,
    @date varchar(30)
AS
Declare @Sql nvarchar(max) 
declare @minTabId int
declare @maxTabId int
declare @maxf_id int
declare @helpTableName nvarchar(max)
declare @tableCount int
 
BEGIN
	 --最小f_id所在表
	 set @minTabId=0
	 set @tableCount=@minTabId
	 --最大f_id所在表
	 set @maxf_id=(select MAX(F_ID) from [Table] where F_IsDelete=0)
	 set @maxTabId=@maxf_id/@tablelevel
 
	 set @helpTableName='SELECT UserID, Max([F_DateTime]) AS dt FROM [Table] GROUP BY UserID'
 
	 while @tableCount<=@maxTabId
	 begin		
		print @tableCount
		set @helpTableName += ' UNION SELECT UserID, Max([DateTime]) as dt FROM SubTable'+cast(@tableCount as nvarchar(10))+' GROUP BY UserID '
		set @tableCount=@tableCount+1
	 end 
	          
     set @Sql='SELECT [nikename] FROM ( 
					SELECT UserID, RANK() OVER(PARTITION BY UserID ORDER BY dt) AS Num,dt FROM ( '+@helpTableName+' ) AS T ) AS NewT
			   LEFT JOIN [UserTable] A WITH(NOLOCK) ON NewT.UserID = A.UserId WHERE Num = 1 AND dt > '''+@date+''''
 
	 Exec sp_executesql @Sql
END
 
GO

partition的意思是对数据进行分区,sql语句如下

SELECT* FROM (
    SELECT
        ROW_NUMBER() over(partition by [姓名] order by [打卡时间] desc) as rowNum,
        [姓名],
        [打卡时间]
    FROM [dbo].[打卡记录表]
    ) temp
WHERE temp.rowNum = 1

通过 partition by [姓名] order by [打卡时间] desc,这句就可以做到,让数据按照姓名分组,并且在每组内部按照时间进行排序

到此这篇关于SQLServer RANK() 排名函数的使用的文章就介绍到这了,更多相关SQLServer RANK()内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SQLServerRANK()排名函数的使用

本文链接: https://www.lsjlt.com/news/143474.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQLServerRANK()排名函数的使用
    本文主要介绍了SQLServer RANK() 排名函数的使用,具体如下: -- 例子表数据 SELECT * FROM test; -- 统计分数 SELECT n...
    99+
    2022-11-13
  • SQL窗口函数之排名窗口函数的使用
    目录案例分析案例使用的示例表1.环比分析2.同比分析3.复合增长率4.不同产品最高和最低销售额示例表和脚本关于窗口函数的基础,请看文章SQL窗口函数 取值窗口函数可以用于返回窗口内指...
    99+
    2022-11-13
  • SQLServer RANK()排名函数如何使用
    今天小编给大家分享一下SQLServer RANK()排名函数如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-29
  • 如何用rank函数排名
    这篇文章主要介绍了如何用rank函数排名的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用rank函数排名文章都会有所收获,下面我们一起来看看吧。用rank函数排名的方法:首先进入空白单元格,然后输入:=RA...
    99+
    2023-07-02
  • SQL窗口函数之排名窗口函数怎么使用
    这篇文章主要介绍“SQL窗口函数之排名窗口函数怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL窗口函数之排名窗口函数怎么使用”文章能帮助大家解决问题。取...
    99+
    2022-10-19
  • Python匿名函数/排序函数/过滤函数
    一. lamda匿名函数   为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(...
    99+
    2023-01-31
    函数 Python
  • python列表排名用什么函数
    python中使用sort函数进行列表排名,具体方法如下:sort:sort()函数的作用是对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。sort()函数语法:list.sort( key=None, reverse=Fal...
    99+
    2022-10-16
  • python Pandas.rank() 排名函数详解
    文章目录 Pandas.rank() 函数详解一、参数解析二、案例分享默认排名`降序: ascending = False``method = 'min'``method = 'max'``m...
    99+
    2023-10-27
    pandas python 数据分析 numpy 机器学习
  • SQLServer中的排名函数与分析函数详解
    一、排名开窗函数概述 SQL Server的排名函数是对查询的结果进行排名和分组,TSQL共有4个排名函数,分别是:ROW_NUMBER、RANK、DENSE_RANK和NTILE。...
    99+
    2022-11-13
  • MySQL查询排名的2种方式:变量排名、窗口函数
    如果你想在MySQL查询中进行排名,可以使用以下几种方法: 使用变量进行排名: 以下是一个基于分数对学生进行排名的示例: SET @rank = 0;SELECT @rank := @ran...
    99+
    2023-10-12
    mysql 数据库
  • 如何用rank函数排名不重复
    这篇文章主要介绍了如何用rank函数排名不重复的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用rank函数排名不重复文章都会有所收获,下面我们一起来看看吧。用rank函数排名不重复的方法:首先打开表格,进入...
    99+
    2023-07-02
  • SQL如何查询排名函数
    这篇文章将为大家详细讲解有关SQL如何查询排名函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在实际开发中经常会遇到计算某个字段的排名的情况如下表:tot...
    99+
    2022-10-18
  • Sql中排名函数有哪些
    这篇文章主要介绍了Sql中排名函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。排名函数是Sql Server2005新增的功能,下面...
    99+
    2022-10-18
  • sql server排名函数DENSE_RANK的用法是什么
    这篇文章将为大家详细讲解有关sql server排名函数DENSE_RANK的用法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、需求  之前sql...
    99+
    2022-10-19
  • MySQL窗口函数实现榜单排名
    目录rank()dense_rank()row_number()rank()函数的模拟实现dense_rank()的模拟实现row_number的模拟实现总结相信大家在日常的开发中经常会碰到榜单类的活动需求,通常在榜单中...
    99+
    2023-04-11
    MySQL 榜单排名 MySQL 排名
  • 怎么用MySQL窗口函数实现榜单排名
    本篇内容主要讲解“怎么用MySQL窗口函数实现榜单排名”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用MySQL窗口函数实现榜单排名”吧!首先,先建一个测试表create tabl...
    99+
    2023-07-06
  • php不使用函数数组排序
    PHP是一种用于Web开发的流行编程语言。其功能强大,拥有丰富的函数库,可以通过使用这些功能来完成各种任务。其中之一是对数组进行排序。PHP提供了几个函数,如sort(),asort()和ksort()等,可以对数组元素进行排序。但是,如果...
    99+
    2023-05-20
  • 如何使用PHP中的krsort()函数按键名对数组进行逆序排序
    如何使用PHP中的krsort()函数按键名对数组进行逆序排序,需要具体代码示例PHP中的数组是一种非常有用的数据结构,它可以存储多个值,并根据键名进行访问和操作。在PHP中,我们可以使用krsort()函数对数组按照键名进行逆序排序。本文...
    99+
    2023-11-18
    PHP 逆序排序 krsort()
  • php排序函数如何使用
    在PHP中,可以使用以下函数对数组进行排序:1. sort():对数组进行升序排序。```php$numbers = array(4...
    99+
    2023-10-12
    php
  • PHP中的ksort()函数按键名对数组进行排序
    PHP是一种服务器脚本语言,常用于Web开发中处理数据和生成动态网页。其中,ksort()函数是一个非常有用的数组排序函数。本文将介绍ksort()函数的用法,并提供具体的代码示例。一、ksort()函数的作用ksort()函数用于按照键名...
    99+
    2023-11-18
    PHP ksort 键名排序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作