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

将三个SQL查询合并为单查询并输出三列结果求助

合并后的SQL查询

你可以通过条件聚合一次性计算三个值,仅需扫描一次表,比多次子查询效率更高:

SELECT
    COUNT(NodeID) AS Total_Ports,
    COUNT(CASE WHEN operationalStatus NOT LIKE '%1%' THEN NodeID END) AS Free_Ports,
    COUNT(CASE WHEN operationalStatus LIKE '%1%' THEN NodeID END) AS Used_Ports
FROM UDT_Port
WHERE IsMonitored = 'True';

说明

  • Total_Ports:直接统计所有IsMonitored = 'True'的记录数,对应你第一个查询的结果。
  • Free_Ports:通过CASE WHEN筛选出operationalStatus NOT LIKE '%1%'的记录,仅统计这些行的NodeID,对应第二个查询。
  • Used_Ports:筛选operationalStatus LIKE '%1%'的记录统计;也可以用Total_Ports - Free_Ports计算,写成COUNT(NodeID) - COUNT(CASE WHEN operationalStatus NOT LIKE '%1%' THEN NodeID END) AS Used_Ports,两种方式结果一致。

这种写法避免重复查询同一张表,执行效率更高,同时直接输出包含三列的结果表。

内容的提问来源于stack exchange,提问作者dinith tharuka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 04:45:42