【问题标题】:An SQL query to display the count of distinct values of a single column into a single row将单列的不同值的计数显示到单行中的 SQL 查询
【发布时间】:2016-04-11 21:49:20
【问题描述】:

有一个表“OBJECTS”,其中一列“OBJECT_NAME”具有三个值:OBJ1、OBJ2、OBJ3。

表 OBJECTS 的快照是:

OBJECT_NAME
----------
OBJ3
OBJ1
OBJ2
OBJ1
OBJ1
OBJ2

需要编写一个最高效的 SQL 查询,以如下所示的格式输出 distinct 对象的计数。确保性能得到优化,并解释为优化所做的工作。

OBJ1_Count   OBJ2_COUNT   OBJ3_COUNT
--------------------------------- 
3              2           1 

【问题讨论】:

  • 这是您要执行的任务。您有实际问题吗?
  • 确保你做对了...

标签: plsql oracle11g


【解决方案1】:

一旦我说明了您的查询示例,您的作业分配分数就应该给我:P。希望对您有所帮助。

SELECT *
FROM
  (SELECT 'OBJ1' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ1' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ2' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ2' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ3' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ2' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ3' AS NM FROM DUAL
  UNION ALL
  SELECT 'OBJ3' AS NM FROM DUAL
  ) PIVOT ( COUNT (NM) FOR NM IN ('OBJ1','OBJ2','OBJ3') );


---------------------------------OUTPUT--------------------------------------

'OBJ1'  'OBJ2'  'OBJ3'
  2        3      3

---------------------------------OUTPUT--------------------------------------

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2013-11-11
    • 2014-08-21
    • 1970-01-01
    • 2015-12-09
    相关资源
    最近更新 更多