【问题标题】:How to count and sort occurances of entries in a column in SQL?如何对 SQL 列中条目的出现次数进行计数和排序?
【发布时间】:2021-11-12 12:17:02
【问题描述】:

我的表 completed 中有一个名为 completed at 的列(带有空格)。 它包含blank entry,或value1value2value3

我想运行一个 SQL 查询,计算 value1、value2、value3 等发生的时间量,按降序排列。

我希望它看起来像这样:

Count Location
49 value2
18 value1
1 value3

这可能吗?

【问题讨论】:

标签: sql


【解决方案1】:

对于 ANSI SQL,我会写这个。如果您需要其他类型的 SQL,请指定,我很乐意更新我的答案。

SELECT 
   COUNT(*) as Count,
   "completed at" as Location
FROM yourtable
GROUP BY "completed at" 
ORDER BY 1 DESC

【讨论】:

  • 我猜你想使用双引号而不是单引号 - 你想使用大多数 dbms 中称为限定名称的名称。 'completed at' 只是一个字符串常量,这样的表达式只有一个组,总计数。
  • @TomášZáluský 我认为是这样,但 OP 没有提供 SQL 的工作原理,我通常使用 SQL Server 并即时编写它。如果您可以或想要编辑答案,我会很高兴。
  • 对未指定 dbms 的问题的产品特定答案。至少告诉我们这是用于哪个 dbms。
  • @jarlh 你是对的。已编辑。谢谢和抱歉。
【解决方案2】:

将列名放在方括号中,这样您就不必担心空格。

SELECT 
   COUNT(*) AS Count,
   [completed at] AS Location
FROM tablename
GROUP BY [completed at]
ORDER BY Count DESC

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 1970-01-01
    • 2023-03-11
    • 2021-12-17
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多