sql - 用另一个文本替换输出行文本而不更新或插入
问题描述
我有一个看起来像这样的查询:
SELECT
x.ans,
COUNT(*) AS num_ans
FROM
ans x,
get_fit('5')
GROUP BY
x.ans,
get_fit.getfit
ORDER BY
x.ans ASC;
输出:
id | num_ans
----+---------------
X | 5
Z | 7
但我想分别用 AName 和 BName 更改 X 和 Z 而不插入或更新表。我该怎么做?
解决方案
实现这一目标的一种选择是CASE
命令。您的查询可能如下所示:
SELECT
x.ans as original_id,
CASE WHEN x.ans='X' THEN 'AName'
WHEN x.ans='Z' THEN 'BName'
ELSE x.ans
END as modified_id,
COUNT(*) AS num_ans
FROM
ans x,
get_fit('5')
GROUP BY
x.ans, get_fit.getfit
ORDER BY
x.ans ASC;
推荐阅读
- plugins - vagrant plugin vagrant-hostmanager 在windows 10上安装
- visual-studio-code - 隐藏活动缩进指南
- angular - Angular Material / Routing - sidenav 选择导致页面刷新
- php - 如何呈现包含在导航菜单中的类别设置为“否”?
- database - Clickhouse 表结构复制
- c# - 通过空保护的对象上的系统执行引擎异常
- c# - 计算从当前时间到某个时间的毫秒数
- django - 使用 django-fm 加载模态表单的问题
- c# - 相当于 Visual Studio for Mac 中的 Windows 窗体应用程序?
- graphql - Apollo 客户端/AWS AppSync JavaScript SDK 更改查询结果