【问题标题】:How can I replace a column value with a name in an SQL query?如何在 SQL 查询中用名称替换列值?
【发布时间】:2015-04-21 01:31:56
【问题描述】:

我正在运行这个查询:

SELECT type, COUNT(type) FROM "table"  where id = 8 GROUP BY type;

有了这个结果:

6   3814
8   341
5   328

我想要这样的东西,我可以在其中指定名称:

Arbitrary Name  3814
Other name       341
Test Name        328

我怎样才能让它拥有像Test Column 6Fun Column 5 这样的自定义名称,而不是列表6 的类型列?我正在使用 postgres。

【问题讨论】:

  • 通常人们用这样的名字创建单独的表,并在查询中加入它以显示人类可读的 ID 名称

标签: sql postgresql


【解决方案1】:

选择 CASE WHEN type = X THEN 'SOME TEXT' ELSE 'OTHER TEXT' END , COUNT(type) FROM "table" where id = 8 GROUP BY type;

【讨论】:

    【解决方案2】:

    1st)如果您的记录中有很多“类型”,那么您应该创建一个新表来存储它的信息(类型标识、名称、详细信息),然后您可以像这样获取它:

    例子

    SELECT typegroup.typename,Count(typeid) from 'table',typegroup where 'table'.id=8 and typegroup.typeid='table'.typeid GROUP BY 'table'.type
    

    2nd )如果您的记录中没有很多“类型”,那么您可以尝试这些语句

    SELECT 
       IF (type = '6','8','5',REPLACE(type, 'Arbitrary Name','Other name','Test Name')) AS type 
       FROM table 
       WHERE id = 8
    GROUP BY type
    

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 2018-03-07
      • 2023-01-03
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2019-04-16
      • 2010-12-27
      相关资源
      最近更新 更多