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

在SQL查询中需要范围的计数

卓学智
2023-03-14
问题内容

我有一张table,上面有所有学生的评分。我正在尝试获得范围内所有学生的人数,例如

0-9 =学生人数9

10 -19 =学生人数0 ,依此类推,最多100。

另外,如果有一些机构可以指出关于 案例陈述 的不错的教程,那将是非常好的

给出的答案很好。 但我的范围是固定的。如果没有申请人,我也必须显示0。 这是我的问题的主要区别。就像我也显示了类别。


问题答案:

您不需要CASE声明。您可以按整数除法的结果分组。

SELECT 10 * ( marks / 10 )     AS start_range,
       10 * ( marks / 10 ) + 9 AS end_range,
       count(*)                AS COUNT
FROM   testTable
GROUP  BY marks / 10

这将分组

0  -  9
10 - 19
/* ...*/
90 - 99
100 - 109

如果您不希望100自己位于某个范围内(作为最终范围内唯一可能的值),则需要更明确地定义需求。

要包括 所有 可以使用的范围

SELECT CAST(10 * ( G.Grp ) AS VARCHAR(3)) + '-' 
                          + CAST(10 * ( G.Grp ) + 9 AS VARCHAR(3)) AS range,
       count(T.id)                                                 AS Count
FROM   (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) G(Grp)
       LEFT JOIN [dbo].[testTable] T
         ON G.Grp = T.marks / 10
GROUP  BY G.Grp

SQL小提琴



 类似资料:
  • 可以对模型的查询和写入操作进行封装,例如: <?php namespace app\index\model; use think\Model; class User extends Model { public function scopeThinkphp($query) { $query->where('name','thinkphp')->field('i

  • 问题内容: 我在存储过程中使用“设置RowCount”。我有一个问题,Set RowCount的范围是什么?考虑以下SP 现在在上面的SP中,您必须看到我的SetRowcount语句不匹配。所以我的问题是,如果我忘记在开头的“ Set RowCount N”语句中添加“ Set RowCount 0”,该怎么办?需要吗?这会影响我的应用程序中其余SP的执行吗? 问题答案: 据我所知,与注释中链接的

  • 我现在在大学学习数据库,在我的项目中,我有3个表:、和 联赛(leagueId,leagueName) 团队(teamId,teamName) 具有(leagueId,teamId,year)

  • 我使用jena创建了一个用于电子邮件存储的rdf模型。我的thr rdf代码是: 这是我查询rdf模型的代码。在这里,我从命令行获取输入,但是字符串的查询也可以工作... 这显示了查询的工作情况:

  • MySQL 提供了  BETWEEN AND 关键字,用来判断字段的数值是否在指定范围内。 BETWEEN AND 需要两个参数,即范围的起始值和终止值。如果字段值在指定的范围内,则这些记录被返回。如果不在指定范围内,则不会被返回。 使用 BETWEEN AND 的基本语法格式如下: [NOT] BETWEEN 取值1 AND 取值2 其中: NOT:可选参数,表示指定范围之外的值。如果字段值不满

  • 问题内容: 怀疑在VBA ADO和Sql查询中… 我有2张纸,即adodc1,adodc2(在一本工作簿中) 在adodc1中具有“名称”,“部门”列,有时其具有“ Sect”列 在adodc2中具有“名称”,“部门”,“宗派”列 我想要的是当我运行Query..Vba时需要检查adodc1是否具有Sect列。 要返回为空值.. 下面的代码取自“”,根据我的需要进行了更改 它将执行的工作是来自两张