Rooney8 2013-12-26 03:52 采纳率: 50%
浏览 2466
已采纳

SQL 查询优化 嵌套查询

sql server ,sql如下:
select *from
(
select subject,COUNT(Subject) as cout from Questions where UserID ='banianji' and AskDate>'2011-01-01' and AskDate<'2014-01-01'
group by Subject
) as a
where a.cout=
(
select MAX(cout)from

(
select subject,COUNT(Subject) as cout from Questions where UserID ='banianji' and AskDate>'2011-01-01' and AskDate<'2014-01-01'
group by Subject
) as b
)
--------------读了上面的SQL,大家应该能明白我想得到什么数据:我要获取值最大的所有的记录(最大值相同的记录可能不止一条,我要把所有的最大值的记录都获取到)。上面的SQL的确能得到我想要的结果,但是,总感觉不好啊,本人sql小白,求大家给优化下,谢谢...

  • 写回答

3条回答 默认 最新

  • 發糞塗牆 博客专家认证 2013-12-27 08:04
    关注

    ;
    WITH cte
    AS ( SELECT subject ,
    COUNT(Subject) AS cout
    FROM Questions
    WHERE UserID = 'banianji'
    AND AskDate > '2011-01-01'
    AND AskDate < '2014-01-01'
    GROUP BY Subject
    )
    SELECT *
    FROM cte AS a
    WHERE a.cout = ( SELECT MAX(cout)
    FROM cte AS b
    )

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64