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

多列条件计数SQL

凌俊语
2023-03-14
问题内容

我正在尝试计算连续4个单独的列中的不同条目,然后总计结果。

例如,表头看起来与此类似:

ID       Col1    Col2    Col3    Col4

每个列(保存ID)可以具有文本值W,X,Y或Z。列可以具有相同的值。

我正在尝试做的是找到一种计算列中每个条目的方法,但是每行只对W,X,Y和Z进行一次计数。因此,如果:

ID       Col1    Col2    Col3    Col4
          X        X       Y
          Y        W       X
          Z        Y       Y

结果表将是:

    Value    Count
      W        1
      X        2
      Y        3
      Z        1

任何帮助将不胜感激。


问题答案:

也许我错过了一些东西,但这会很简单:

Select Val, Count(*)
From    (
        Select Id, Col1 As Val From Table1
        Union Select Id, Col2 From Table1
        Union Select Id, Col3 From Table1
        Union Select Id, Col4 From Table1
        ) As Z
Where Z.Val Is Not Null
Group BY Z.Val

没有理由一起使用DistinctUnion因为Union这样做会使结果明显。因此,我们需要为每行(Id)包括唯一值。

SQL Fiddle(使用SQL Server,但相同的语法在MS
Access中将起作用)



 类似资料:
  • 我需要 在Hibernate条件中。由于这个问题,我知道如何将分组结果作为的列表: 我不知道如何添加HAVING子句。我想,它类似于,但是我如何引用计数呢? 有没有办法在查询中引用结果元组元素?

  • 问题内容: 我正在寻找一种“更好”的方式来执行查询,在该查询中,我想向单个玩家显示他之前玩过的游戏以及与每个此类对手相关的获胜记录。 以下是涉及的表格,精简如下: 因此,约翰对玛丽的战绩是2胜1负。vs鲍勃1胜0负; 和爱丽丝的3胜2负。 我正在使用Postgres 9.4。我脑海中有些东西告诉我要考虑一下,但是我很难理解这样的“形状”。 以下是我当前正在使用的查询,但是有些“感觉不到”。请帮助我

  • 我用这个最小的可复制的例子来说明我的问题。我已经设法解决了这个问题,但我确信还有更优雅的编码方式。 这个问题是关于基于多个标准的二元分类。为了满足要求,一个甜甜圈(编码1)需要至少3(或更多)的分数:“a”标准项中的至少一个、“B”标准项中的至少两个和“C”标准项中的至少三个。如果不满足这些要求,将不奖励甜甜圈(编码0)。

  • 问题内容: 我有一个像这样的表(tb_data) 我的问题是如何使它像这样 哦,这是我失败的尝试 我也尝试过此操作,但是它没有用,它说“字段列表中的“未知”列“疾病”,因为我真的不明白这是什么错误 问题答案: 您可以使用取消透视数据集,然后聚合:

  • 我会跟踪哪些人登录到我们的本地服务器,如下面的数据库所示。 我的数据库结构是:

  • 本文向大家介绍Mysql按条件计数多种实现方法详解,包括了Mysql按条件计数多种实现方法详解的使用技巧和注意事项,需要的朋友参考一下 最近在给某网站的后台添加一系列的统计功能,遇到很多需要按条件计数的情况。尝试了几种方法,下面简要记录,供大家参考。 问题描述 为使讨论简单易懂,我将问题稍作简化,去掉诸多的背景。 从前有一个皇帝,他有50个妃子,这些妃子很没有天理的给他生了100,000个儿子,于