可乐_Sikng 2022-04-12 10:44 采纳率: 33.3%
浏览 15

子查询作为表时,表外加条件查询效率特别慢。

SELECT M.STOCK_NAME, M.TRADE_DAYS, M.STOCK_COUNT, M.TF
  FROM (SELECT T.STOCK_NAME,
               TIME_TO_MARKET(T.STOCK_NAME) TRADE_DAYS,
               T2.STOCK_COUNT,
               CASE
                 WHEN TIME_TO_MARKET(T.STOCK_NAME) = T2.STOCK_COUNT THEN
                  1
                 ELSE
                  0
               END TF
          FROM (SELECT STOCK_NAME
                  FROM JQDATA.ORDER_ACTIVITIES
                 GROUP BY STOCK_NAME) T
          LEFT JOIN (SELECT STOCK_NAME, COUNT(1) STOCK_COUNT
                      FROM JQDATA.ORDER_ACTIVITIES
                     GROUP BY STOCK_NAME) T2
            ON T2.STOCK_NAME = T.STOCK_NAME) M
 WHERE M.TF = 0

  • 写回答

2条回答 默认 最新

  • 可乐_Sikng 2022-04-12 11:05
    关注

    以其它字段作为条件的时候没啥问题,case when字段作为条件字段查询特别慢。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月12日

悬赏问题

  • ¥15 公众号关键词自动回复超链接
  • ¥18 help me! 希望大家来看看 吉~
  • ¥15 C++显示超限兔子集结
  • ¥15 sql server 2012的下载出错
  • ¥15 图像识别用户软件开发
  • ¥20 类原生rom lineageos
  • ¥15 有没有会做中专,云计算,卷子的,有偿一百块
  • ¥15 HC32串口DMA循环发送数据
  • ¥15 Uni-App实现飞书授权登陆
  • ¥50 Qt应用中如何通过代码打开开发者工具devtools