sqlite - 空表上选择输出中的 SQLite 虚拟值
问题描述
我有一个带有这个示例表的 SQLite 数据库:
CREATE TABLE PROVA
(
c1 TEXT NOT NULL UNIQUE,
c2 TEXT NOT NULL,
c3 TEXT NOT NULL
);
该表在某些时候会是空的(例如在初始化期间),我需要一个查询,它可以返回这样的输出,而不必指定列名(每列的虚拟值)。
c1 c2 c3
-------- -------- --------
dummy dummy dummy
解决方案
我们可以借助以下方法在这里使用联合技巧RANK
:
WITH cte AS (
SELECT c1, c2, c3, 1 AS pos FROM PROVA
UNION ALL
SELECT 'dummy', 'dummy', 'dummy', 2
),
cte2 AS (
SELECT c1, c2, c3, RANK() OVER (ORDER BY pos) rn
FROM cte
)
SELECT c1, c2, c3
FROM cte2
WHERE rn = 1;
推荐阅读
- git - 如何将同一作者的所有提交分组?
- mysql - MySQL 连接结束后 Node.js 服务器崩溃
- java - 我总是收到此错误“未知参数 0x00008824 glUtilsParamSize:未知参数 0x0000882”
- c# - 替换一个数组中包含在另一个数组中的值,而不遍历每条记录
- java - Android 不会在设备管理应用程序列表中显示我的应用程序
- sequelize.js - 如何在 LEFT JOIN 中嵌套 INNER JOIN
- ruby-on-rails - 在 Rails 中更新类似计数而不重新加载页面
- php - 查了查询,数据库,表名,列名等,还是不知道为什么会出现这个错误
- python - Cython 内存视图会很慢吗?
- r - 将多个时区转换为一个 - r