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

SQL,在多列中计数,然后分组

子车超英
2023-03-14
问题内容

我试图在多列中计数,然后按总和将相同数据显示在任何列中

Source data table:

P1  P2  P3
-----------
a   b   
a   a   a
b   c   
a   b   b
b   a

我希望它显示如下内容:

Desired query output:

     Total
   -------------
a |    6
b |    5
c |    1

问题答案:

您可以使用联合查询

SELECT x.f1,Count(x.f1) FROM
(SELECT p1 As F1 FROM table
 UNION ALL
 SELECT p2 As F1 FROM table
 UNION ALL
 SELECT p3 As F1 FROM table) x
GROUP BY x.f1


 类似资料:
  • 问题内容: 我正在尝试计算连续4个单独的列中的不同条目,然后总计结果。 例如,表头看起来与此类似: 每个列(保存ID)可以具有文本值W,X,Y或Z。列可以具有相同的值。 我正在尝试做的是找到一种计算列中每个条目的方法,但是每行只对W,X,Y和Z进行一次计数。因此,如果: 结果表将是: 任何帮助将不胜感激。 问题答案: 也许我错过了一些东西,但这会很简单: 没有理由一起使用,因为这样做会使结果明显。

  • 问题内容: 我试图弄清楚如何编写一个查询多个列中的值的查询,结果表在每个列中对 任何 列的每个可能值都有一个计数。 示例:说我有 mytable 我想要一个查询,在每列中计算a和b,产生类似以下内容的结果: 我知道我可以通过 group by 轻松地对单个列执行此操作: 但是是否可以对 每一 列都执行此操作? 我正在使用SQL Server 2008(T-SQL)。在此先感谢您的帮助! 问题答案:

  • 问题内容: 该查询将在数据库中搜索特定的列名。我想更进一步,并在返回的列中搜索特定值。 有任何想法吗? 非常感谢 问题答案: 没有此类搜索的系统表。鉴于您可以尝试此目的 谢谢 马诺吉

  • 问题内容: 我想结合两个查询 然后计算百分比(将第二个查询除以第一个查询)。我想在一个查询中实现这一目标。到目前为止我尝试过的是: 我得到的是: 我想要的是: 问题答案: 这应该给您您想要的: 编辑:没注意到这是为Access。我不知道Access中是否可用,因此您可能需要使用一个等效函数来确保整数不会简单地产生1或0。Access可能会自动将除法转换为小数,但在SQL Server则不然。

  • 这里有一个关于这个问题的问题: 爆炸(移调?)Spark SQL表中的多个列 假设我们有如下额外的列: 结束如下输出: 答案是将< code>udf定义为: 并定义“与列”。 如果我们需要扩展上面的答案,有更多的栏目,修改上面代码的最简单方法是什么。任何帮助请。

  • 问题内容: 我有以下SQL问题: 如何使用SELECT命令将一列(内部文本)划分为两个单独的带有拆分文本的列? 我需要使用空格字符分隔文本数据。我知道最好举一个例子来简化它。所以: 输出: 所需的输出: 谢谢大家的帮助。 问题答案: 取决于数据的一致性-假设要在第一列与第二列中显示的内容之间用一个空格隔开: 您还可以在REGEX中使用以下查询: Oracle 10g +具有正则表达式支持,根据您需