SQL Server 模式 SQL

2023-12-06

我有一张表格,列出了每个班级的学生成绩。 我想要一个如下所示的结果集:

BIO...B
CHEM...C

其中“B”和“C”是该类的模式。 我可以获得所有成绩的模式,但不确定如何获得每个班级的模式


这里,在 SQL 2005/2008 上是这样的:

;WITH 
  Counts AS (
    SELECT ClassName, Grade, COUNT(*) AS GradeFreq 
    FROM Scores
    GROUP BY ClassName, Grade
    )
, Ranked AS (
    SELECT ClassName, Grade, GradeFreq
    , Ranking = DENSE_RANK() OVER (PARTITION BY ClassName ORDER BY GradeFreq DESC)
    FROM Counts
    )
SELECT * FROM Ranked WHERE Ranking = 1

或者也许只是:

;WITH Ranked AS (
  SELECT 
    ClassName, Grade
  , GradeFreq = COUNT(*)
  , Ranking = DENSE_RANK() OVER (PARTITION BY ClassName ORDER BY COUNT(*) DESC)
  FROM Scores
  GROUP BY ClassName, Grade
  )
SELECT * FROM Ranked WHERE Ranking = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 模式 SQL 的相关文章

  • 从多个表插入表

    嘿 我有一个连接表 连接两个不相关的表 两个表都有ID的 我需要选择ID从每个表中使用WHERE具有不同的值 例如这就是我的看法 INSERT INTO c aID bID VALUES SELECT a ID WHERE a Name M
  • 检查行是否存在,Laravel

    我有以下数据库结构 items id name user id users table id name user favorites table id user id item id 在我的项目永久链接页面上 我有一个 添加到收藏夹 按钮
  • SQL 用逗号替换点

    我有以下代码 SELECT cast Listenpreis 1 19 as decimal 29 2 as Listenpreis FROM SL M03KNE dbo ARKALK 我得到这个值 5 59 我尝试将点替换为 komma
  • 使用 JavaScript 清理 SQL 数据

    我有一堆具有各种输入元素的表单 我想在服务器端清理这些 yes 我使用服务器端 JavaScript 将这些输入用作参数 并防止特殊字符格式错误 在你走之前 比如 这不属于 JavaScript 的领域 等等 我正在使用一个价值数百万美元的
  • SQL Server 2008:TOP 10 和不同的一起

    正如标题所示 我正在使用 SQL Server 2008 如果这个问题非常基本 我深表歉意 我才使用 SQL 几天 现在我有以下查询 SELECT TOP 10 p id pl nm pl val pl txt val from dm la
  • 在 CodeIgniter、SQL 中调用布尔值的成员函数 result()

    我试图根据搜索关键字查看 data results 中有哪些数据 但每次都会出现上述致命错误 有人可以帮助我吗 我的控制器 public function execute search search term this gt input g
  • Sql Server 2008 强制日期从 dd/MM/yyyy 到 MM/dd/yyyy

    我在 sql server 2008 上遇到了一个奇怪的问题 我试图用dd MM yyyy格式写入sql server 2008 但是插入日期后它会自动转换为MM dd yyyy 注意 我的电脑时钟格式是dd MM yyyy 我的报告查看器
  • ISDATE 相当于 DB2

    我有一个包含字符格式日期的表 我想检查日期的格式 请让我知道如何在 DB2 中做到这一点 我知道有一个函数 ISDATE 但它在 DB2 中不起作用 我在 AS400 上使用 db2 作为日期基础 请帮助我 实际上 看起来 DB2 for
  • 使用递归 CTE 生成嵌套第 n 层 JSON SQL Server

    我有以下结构的数据 我想使用父属性 id 关系生成嵌套 JSON 所需的输出 propertyID 1 title foo class typeid 150 value bar children propertyID 2 title foo
  • 限制 SQL 查询的响应时间

    我在这里发布了一个关于我的 gridview 绑定的问题 将GridView与多条记录绑定 https stackoverflow com questions 5599704 bind gridview with many records
  • 在 PostgreSQL 中向日期添加月份显示语法错误

    我使用的是Postgres 9 0版本 我想在日期中添加一些月份来计算新日期并在表中更新 这里要添加的月份数将是整数变量 我的代码如下 declare numberofmonths smallint 5 update salereg1 se
  • 使用 C# 检索 SQL Server 中具有 varchar 数据类型的字段的大小

    我正在使用 VS 2010 和 SQL Server 2008 在 ASP NET 中创建一个项目 我想检索具有以下内容的列的大小varchar数据类型 e g Varchar 20 我想要 20 而不是最大可能的大小varchar使用 C
  • 如何在SQL Server数据库的所有表的所有列中搜索特定字符串?

    我们想要在拥有大约 120 个表的所有数据库中搜索一个字符串 即 Hello World 我们考虑过像 mysql dump 一样进行转储 但它以奇怪的 bak 格式出现 应在每个表的每一列中进行搜索 任何类型的脚本都可以做到这一点 或者这
  • 将unix纪元时间戳转换为TSQL日期时间

    我只找到了一个类似的问题 https stackoverflow com questions 4794162 convert unix epoch timestamp to mysql timestamp in php但对于 MySQL 来
  • MySQL 选择 table01 中不存在于 table02 的行[重复]

    这个问题在这里已经有答案了 我有两个表 table03 有 10 行 table01 有 21 行 现在我想从 table03 中获取 table01 中不存在的行 到目前为止我编写了这个查询 但它显示了 table03 的所有行 即使有些
  • SQL Server 2005 将 VARCHAR 转换为 INT 但默认为无效类型

    我的表中有一个 varchar 100 列 其中包含整数 作为字符串 和非整数字符串的混合 例如 dimension varchar 100 5 17 3 Pyramids Western Bypass 15 我怎样才能写一个表达式 例如将
  • 恢复 woocommerce 订单

    最近 我的服务器团队更换了我的数据库 他们将我们以前的数据库放入其中 因此 我们丢失了某一天 特定日期 的订单详细信息 现在 服务器团队提供包含丢失当天订单详细信息的备份 现在请告诉我如何恢复这些订单 我无法用给定的备份替换我们的数据库 因
  • 行入列并分组

    我有一个如下所示的查询 SELECT OrganizationName OrganizationID ReceivableStatus InvoiceFee FROM v InvoicesFreelanceOutstanding ORDER
  • 按日期和时间降序排序?

    全部 我想显示特定 id 最后输入的 5 条数据 我的sql查询是 SELECT id name form id DATE updated at as date FROM wp frm items WHERE user id 11 form
  • NHibernate 排序(SQL 作为第二个选项)

    我正在使用 NHibernate 作为我的 ORM 并且正在尝试对一些数据进行排序 数据需要分页检索 我的请求表中的两列是 UrgencyID 和 CreateDate UrgencyID 是包含静态数据的 Urgency 表的 FK 1

随机推荐