问题标签 [dense-rank]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3118 浏览

sql-server-2008 - 需要帮助尝试使用 GROUP BY 进行排名

我在尝试按每个学生所在的家庭组对每个学生进行排名时遇到了麻烦。

假数据示例。

等等

我的输出如下

我正在尝试使用 DENSE_RANK .. 如果我对单个家庭组(例如家庭组 = 1)运行它,那效果很好......但我不确定如何在所有家庭组上执行此操作。

我猜我需要一个更新查询,它有一个子查询......这个子查询有它自己的子查询......??

我很困惑:(而且我一直在想我拒绝使用的邪恶光标,除非我的头上有枪(因为我相信它可以用'Set'符号正确处理)。

0 投票
2 回答
2570 浏览

sql - sql server 2000 中的 Dense_Rank() 替代方案?(基于集合)

实际上,我的任务是根据薪级找到员工。

所以我使用了 Dense_Rank() 并得到了答案。

最初我被告知要在 SQL SERVER 2005 中解决。

后来他们改变了要求,并说查询也应该在 SQL SERVER 2000 中运行。

我使用while循环解决了这个问题。

但他们说他们将接受使用基于 SET 的方法的解决方案。

怎么做?

提前致谢

0 投票
2 回答
3798 浏览

mysql - 从 MySQL 中的表中加入单行

我有两张桌子playersscores.

我想生成一个看起来像这样的报告:

现在,我的查询看起来像这样:

我需要与返回s.points的行相关联的那个min(s.date)。这个查询会发生这种情况吗?也就是说,我如何确定我得到s.points了连接行的正确值?

旁注:我想这在某种程度上与 MySQL 缺乏密集排名有关。这里最好的解决方法是什么?

0 投票
1 回答
86 浏览

sql-server - 排名函数结构

我很了解排名函数的 DENSE_RANK() 函数及其工作。但是我总是只写这个函数的名称,它隐式地完成它的工作,看不到它是如何显式工作的,我喜欢看到它的结构,它用 T_SQL 语言在这个函数中执行操作。请你帮我解决一下。

0 投票
1 回答
253 浏览

mysql - 如何用 MySQL 生成这两个报告?

我的架构

我有以下表格

我需要创建两个报告。

1) 顶级球员

最近 4 个月表现最好的球员(每位球员的所有得分之和)。显示每个月的前 10 名。

2) 热门用户:

最近 4 个月内表现最好的用户(每个用户的每个玩家的所有得分总和)。显示每个月的前 10 名。

MySQL 视图助手

出于加入目的,我有一个存储视图来帮助查询报告的月份。它将始终返回最近的 4 个月。

问题

例如,在报告 #1 中,我可以很容易地得到总和。

但是,我不能简单地获取前 40 个结果并将它们分散到 4 个月,因为这不能保证我每个月都有 10 个。

问题

如何修改我的查询以确保每个月获得 10 个?

0 投票
2 回答
509 浏览

oracle - 在 Oracle 中选择 N 行

假设我们有以下数据:

我想选择按值 DESC排序的不同显示在支持分页的网格中。

我不知道如何生成排名作为Desired Rank column中显示的值。这样我就可以在数据集上正确分页

当我尝试使用:DENSE_RANK() OVER(ORDER BY value),结果是

当我尝试选择前两个键“排名在 1 和 2 之间”时,我收到了 3 个键。这破坏了所需的分页机制。

有任何想法吗?

谢谢

0 投票
2 回答
11066 浏览

sql - 使用 SQL DENSE_RANK 确定重复项

这是我试图查找具有相同数量的所有订单的数据示例,忽略 OrderID 列

所以,我在 SQL 中使用了 DENSE_RANK 函数

获取以下数据

因此,根据排名,我能够过滤掉不同 orderID 中数量相同的记录,并将它们视为一个。到目前为止一切都很好,我很高兴。但是,另一个疯狂的要求是这种形式的聚合应该只在数量的第一次变化时进行。例如,如果上面的数据恰好像下面这样一个

相同的 SQL 会产生结果

但是,我需要结果是

请注意,在第一次数量变化后,所有记录的排名保持为 1。

是否可以调整我的 SQL 以获得上述行为?

感谢您的任何建议。

0 投票
2 回答
1041 浏览

sql-server - SQL Server: DENSE_RANK ()

我有一个tableA:(ID int,batch int,new_batch int)

ID 和批次已填充:

现在我想根据下面的 select 语句填充 New_batch。

  1. 现在对于这个 select 语句,我们得到 batch = 02 和 batch =5。现在我想分配new_batch,这样select语句的结果应该首先排序(batch02然后batch05),其余数据应该在select语句中按batch的递增顺序排序。(第 1、3、4 批)结果应为:

谢谢。PS:可以使用DENSE_RANK(),请不要硬编码!!

0 投票
1 回答
750 浏览

sql-server-2008 - SQL Server 获得排名第一?

编辑 - 重申我的需要,因为两个比我排名更高的人误解了我的问题,所以我需要做得更好......

我有一张像下面这样的桌子。我需要为第一组 'ison' 列为 1 的 'sec1' 行选择所有行。因此查询应首先返回 'bbb' 行,但如果我将所有行设置为 ison=0 然后使'ccc'行iso=1,然后我会在结果集中得到两行'ccc'。任何人都可以帮助我提高我的排名/排名吗?使用 MSSQL 2008。

谢谢。

0 投票
1 回答
1001 浏览

sql-server - SQL Server 密集秩/内连接概念澄清?

我希望在使用连接时能够清楚地了解密集等级函数的行为。我在前面的一篇文章中得到了一个很好的解决方案SQL Server recursive cte help want在查看解决方案时,它涉及使用密集等级和内部连接来分区数据,并在缺失数据点处中断。

所以:根据我对解决方案的阅读方式,在内部连接中,密集排名包括左侧的排名行,而不是右侧的行。我对此进行了一个小测试,但无法重现该行为。例如,当我运行查询并在 cte 上使用基本选择语句时,没有像在原始查询中那样再次对其进行分区,并且 1/5/12 的数据点 A 丢失,我得到:

根据我目前的理解,上面的密集排名值在最后两条记录上只会从 2 变为 3,因为连接不会返回 tblDailyPricingAndVol 中日期的匹配项。提前致谢。