当前位置: 首页 > 面试题库 >

SQL Server 2008中的计数(不同([值])OVER(分区依据)

孟文栋
2023-03-14
问题内容

我已经写了这个并且在Oracle中成功执行了

COUNT (DISTINCT APEC.COURSE_CODE) OVER (
                                            PARTITION BY s.REGISTRATION_NUMBER
                                            ,APEC.APE_ID
                                            ,COV.ACADEMIC_SESSION
                                            ) APE_COURSES_PER_ACADEMIC_YEAR

我正在尝试在SQL Server中获得相同的结果(我们的源数据库使用Oracle,但我们的仓库使用SQL Server)。

我知道SQL Server 2008中的窗口函数不支持该功能-有人可以建议替代方法吗?


问题答案:

这是我最近遇到的。我从这篇文章中得到了它。到目前为止,它对我来说真的很好。

DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC) +
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount


 类似资料:
  • 问题内容: 我试图弄清楚如何编写一个查询多个列中的值的查询,结果表在每个列中对 任何 列的每个可能值都有一个计数。 示例:说我有 mytable 我想要一个查询,在每列中计算a和b,产生类似以下内容的结果: 我知道我可以通过 group by 轻松地对单个列执行此操作: 但是是否可以对 每一 列都执行此操作? 我正在使用SQL Server 2008(T-SQL)。在此先感谢您的帮助! 问题答案:

  • 我从S3读取PARQUET文件时出错,原因是“final_height”列在同一个分区中有String和Double类型。供参考,拼花文件中有20多列。我得到的错误是: 当"part1.gz.parquet"有X列的字符串数据,而"part2.gz.parquet"在同一列中有双精度数据时,找到了一些解决方案。但是当在同一分区中发现同一列中的不同类型时,它们不起作用。 试: 使用合并模式和推断模式

  • 问题内容: 我是Oracle的新手。我有一个Oracle表有三列:,和。在第三列中的行具有值,或 。 我想使用count运行查询,以显示可维修的数量,正在维修的数量,针对每个项目类别的谴责数量。 我想运行类似的东西: 我无法在计数内运行内部查询。 这是我希望结果集看起来像的样子: 问题答案: 您可以在COUNT函数中使用CASE或DECODE语句。 输出:

  • 我正在尝试构建一个选择唯一值组的查询。我知道如何对值进行分组并选择不同的值,但我不知道如何选择不同的值组,而不管所考虑元素的顺序如何。更准确地说: 我的XML是这样的: 在这里,我想将

  • 问题内容: 我可以在不枚举的情况下计算每列的不同值吗? 说我有一个表,,,并没有其他的列。在没有明确提及这些列的情况下,我希望得到与以下结果相同的结果: 我怎样才能做到这一点 ? 问题答案: 我认为使用普通SQL可以轻松完成的最好工作就是运行这样的查询,以生成所需的查询,然后运行该查询。

  • 问题内容: Elasticsearch文档 建议 *他们的一段代码 *文件固定 对应于sql查询 但实际上对应于 我不想知道我有多少不同的值,但是什么是不同的值。有人知道如何实现吗? 问题答案: 在字段上使用术语汇总。并且您需要注意如何分析要获取不同值的字段,这意味着您需要确保在建立索引时没有对它进行标记,否则聚合中的每个条目都是一个不同的术语,属于字段内容。 如果您仍然希望令牌化并使用聚合,则可