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

SQL有多少条记录以相同的字母开头

闾丘德业
2023-03-14
问题内容

因此,我在A列的数据库中有成千上万的记录。

我想看看有多少以每个字母和所有单个数字开头。

所以我需要一个计数和与之相关的字母。我还想查看所有两个字母数字组合,即aa ab ac ad ae等及其计数。

还有三个和四个字符等。


问题答案:

通常GROUP BY,您可以使用类似的表达式LEFT(columnname, 1),该表达式可让您执行COUNT()按任意表达式分组的汇总。使用的最理想的子字符串函数可能取决于您的RDBMS。

SELECT
  UPPER(LEFT(columnname, 1)) AS first_char,
  COUNT(*)
FROM yourtable
GROUP BY UPPER(LEFT(columnname, 1))
ORDER BY first_char ASC

同样,要获得2个字符的匹配

SELECT
  UPPER(LEFT(columnname, 2)) AS first_2char,
  COUNT(*)
FROM yourtable
GROUP BY UPPER(LEFT(columnname, 2))
ORDER BY first_2char ASC

某些RDBMS允许您在GROUP BY而不是完整表达式中使用列别名,就像在简化中那样GROUP BY first_char

请注意,我将它们大写,因此Ab, AB, ab, aB如果您使用区分大小写的排序规则,则不会得到单独的匹配项。(但是,我认为默认情况下,SQL
Server使用 不区分大小写的 排序规则)



 类似资料:
  • 问题内容: 我正在使用python(Django Framework)读取CSV文件。如您所见,我仅从该CSV中提取了2行。我一直在尝试将CS​​V的总行数存储在变量中。 如何获得总行数? 我试过了: 问题答案: 您需要计算行数: 使用与发电机表达使一个有效的计数器,从而避免在存储器中存储整个文件。 如果您已经阅读了2行作为开始,那么您需要将这2行添加到总计中;已经读取的行不计算在内。

  • 问题内容: 我尝试了使用“注释”对Hibernate进行“多对多映射”以及vaannila中给出的示例。 http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-many- to-many-using-annotations-1.html 这个东西工作正常。但是,如果我稍后尝试向现有的学生添加另一门课程, 它在表中

  • 如何编写由字符组成但必须以相同字母开头和结尾的正则表达式?例如:

  • 问题内容: 我有一个带有注释字段的表,我想将每个记录中字符串的首字母大写,例如将“ duplicate”更改为“ Duplicate”。有些记录开始时已经有大写字母,有些甚至可能是数字。 我试过了 但是失败了,因为我的字段是’ntext’类型的。 在句号(句号)后能够大写第一个字母也将很有用,但这不是必不可少的,除非有人已经编写了代码。 提前致谢。 问题答案: 将您的ntext强制转换为nvarc

  • 问题内容: 我有一个汽车表,其中包含汽车清单。表结构如下所示: 我想要一个查询,该查询返回每个品牌的10辆汽车。 等效于以下伪代码的内容: 这是我尝试失败的结果: -–每次返回仅返回一条记录。 这将返回每条记录。 我每辆汽车只需要10条记录。 谢谢你的帮助 问题答案: 这将给您您想要的: 要更改获取 哪 10行的选择,请更改最内层查询的顺序;我选择了id ,但您可以选择年份。只要是第一次,它将起作