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

SQLite中筛选指定数据后添加两值相除结果行的方法

在SQLite中实现需求的解决方案

这在SQLite中完全可行,最直接的方式是使用UNION ALL将原查询的结果与计算出的比率行合并,具体SQL语句如下:

-- 查询原始目标数据
SELECT year,
       region,
       id,
       value
FROM my_table
WHERE region = 'Asia'
  AND year = 2021
  AND id IN ('01', '03') -- 用IN替代OR更简洁,若id是数值类型则去掉引号
UNION ALL
-- 添加计算比率的行
SELECT 2021 AS year,
       'Asia' AS region,
       'Ratio(03/01)' AS id, -- 自定义id标识这是比率行
       (SELECT value FROM my_table WHERE region='Asia' AND year=2021 AND id='03') 
       / 
       (SELECT value FROM my_table WHERE region='Asia' AND year=2021 AND id='01') AS value

注意事项:

  • 若id字段是数值类型,需去掉SQL中的单引号(数值类型的01等价于1,如果你的实际数据中id是带前导零的字符串,必须保留引号)。
  • 为避免除数为0的错误,可以用NULLIF处理分母,比如将分母子查询改为SELECT NULLIF(value, 0) FROM ...,这样当ID01的value为0时,结果会返回NULL而非报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:42:37