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

单表SQL子查询按TickerSymbol分组统计指定区间TickerSentiment数量

SQL查询修改方案

问题根因

  • 原有子查询没有添加和外层查询的TickerSymbol关联条件,所以每次统计的都是全表符合条件的总记录数
  • 外层查询没有添加GROUP BY子句,所以会返回每个TickerSymbol对应的所有原始行,不会按股票代码合并统计结果

最优修改方案(无需子查询,直接分组聚合)

该写法性能更高、逻辑更通用,兼容所有主流SQL dialect:

SELECT 
  TickerSymbol,
  COUNT(CASE WHEN TickerSentiment BETWEEN 0.000000001 AND 1 THEN 1 END) AS "Positive Sentiment"
FROM Ticker
WHERE TickerSymbol != 'NONE'
GROUP BY TickerSymbol;

子查询写法修正版

如果需要保留原有的子查询结构,修改如下:

SELECT 
  t1.TickerSymbol,
  (
    SELECT COUNT(p.TickerSymbol) 
    FROM Ticker p
    WHERE p.TickerSymbol = t1.TickerSymbol -- 新增和外层查询的关联条件
      AND p.TickerSymbol != 'NONE' 
      AND p.TickerSentiment BETWEEN 0.000000001 AND 1 
  ) AS "Positive Sentiment"
FROM Ticker t1
WHERE t1.TickerSymbol != 'NONE'
GROUP BY t1.TickerSymbol; -- 新增分组去重

补充说明

SQL中判断值不等于的场景推荐用!=运算符,IS NOT一般仅用于NULL值的判断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:54:08