You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将拆分的SQL查询结果合并为单个输出表?

如何将拆分的SQL查询结果合并为单个表

我需要统计所有Double(双人房)和Twin(双床房)房型的固定附加设施数量(包括无附加设施的房间)。我编写了SQL代码并得到了所需数据,但结果被拆分为3个11行的表和1个1行的表,请问如何将这些结果合并为单个表?

我的SQL代码:

SELECT r.room_number AS "Room", r.room_type AS "Type", COUNT(f.extra_id) AS "Extra"
FROM a2_room r
LEFT JOIN a2_fixed_extra f
ON (r.room_number = f.room_number)
WHERE r.room_type = 'Twin'
OR r.room_type = 'Double'
GROUP BY r.room_number, r.room_type
ORDER BY r.room_number;

当前查询结果

Room Type        Extra
---- ------ ----------
005  Twin            1
101  Double          1
102  Double          1
103  Double          1
104  Double          1
106  Twin            1
107  Double          1
108  Double          1
109  Twin            0
110  Twin            0
111  Twin            0

Room Type        Extra
---- ------ ----------
113  Double          1
114  Double          2
115  Twin            0
117  Double          1
118  Double          1
120  Twin            1
201  Double          1
202  Double          1
203  Twin            1
204  Twin            0
207  Twin            0

Room Type        Extra
---- ------ ----------
208  Double          1
209  Double          1
210  Double          1
211  Double          1
217  Double          1
218  Double          2
219  Double          1
220  Twin            0
221  Twin            0
222  Twin            1
223  Double          1

Room Type        Extra
---- ------ ----------
224  Double          1

期望结果

-- Room Type       Extras
-- ---- ------ ----------
-- 005  Twin            1
-- 101  Double          1
-- 102  Double          1
-- 103  Double          1
-- 104  Double          1
-- 106  Twin            1
-- 107  Double          1
-- 108  Double          1
-- 109  Twin            0
-- 110  Twin            0
-- 111  Twin            0
-- 113  Double          1
-- 114  Double          2
-- 115  Twin            0
-- 117  Double          1
-- 118  Double          1
-- 120  Twin            1
-- 201  Double          1
-- 202  Double          1
-- 203  Twin            1
-- 204  Twin            0
-- 207  Twin            0
-- 208  Double          1
-- 209  Double          1
-- 210  Double          1
-- 211  Double          1
-- 217  Double          1
-- 218  Double          2
-- 219  Double          1
-- 220  Twin            0
-- 221  Twin            0
-- 222  Twin            1
-- 223  Double          1
-- 224  Double          1

解决方法

这种结果拆分是SQL客户端的分页显示机制导致的,你的SQL逻辑本身没有问题,数据是完整的,只是被客户端分成多页展示。可以通过以下方式获取合并后的单表结果:

  • 调整客户端显示设置:在你使用的SQL工具(如SQL Developer、Navicat、DBeaver等)中,找到结果集的分页/行数限制选项,将每页显示行数调至足够大(比如1000),或者直接关闭分页功能,就能看到完整的单表结果。
  • 导出结果到文件:将查询结果导出为CSV、Excel或文本文件,导出的文件会自动合并所有数据,不会保留分页拆分。
  • 命令行工具处理(如sqlplus):执行SET PAGESIZE 1000(或更大数值)命令,取消分页限制,让所有结果一次性显示。

内容的提问来源于stack exchange,提问作者Nicholas Rohrmoser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:05:21