回答

收藏

加入而不是相关子查询

技术问答 技术问答 273 人阅读 | 0 人回复 | 2023-09-11

CREATE TABLE BlogPosts
+ ]8 i; R2 K6 U(/ R; Q+ r4 j% S- F1 P* l1 Z; ^
PostID INT PRIMARY KEY  not null,- o/ Z3 s3 m! H- j6 J' F- B5 D( B
PostTitle NVARCHAR ,
5 [$ x. B6 s9 g3 l, Q# k6 ABlogID int,
! O2 o; @) R6 o1 B8 L, p9 oTotalComments int) `$ O( U* ~# G! d# [4 ?, F/ }
)
# _6 N- H, S& c2 u3 B可以使用任何Join而不是相关子查询来简化此查询吗?
$ U" B1 K* ?' T0 kSELECT TOP 5 *
2 E2 P4 @3 ]0 P" x: CFROM BlogPosts as t02 y5 T: \# Y" X  O' Q2 U$ N, u
WHERE t0.PostID = (SELECT TOP 1 t1.PostID 2 K3 f: ~/ d* r  n) D; N+ s6 j/ d
                FROM BlogPosts as t1- C" k7 p( H1 l" t" f+ s! Q
                WHERE t0.BlogID = t1.BlogID+ [8 s# h1 U0 f- ?/ r
                ORDER BY t1.TotalComments DESC)
0 X4 ^8 H1 }# P( ~4 v, H# e我需要来自不同博客的5个帖子,其maxTotalComments数量最多。
% u7 N4 x8 K# ~4 uUPD。SQL Server,但我希望使用标准SQL1 p' ~# b4 P) w; Q9 g0 r0 B
               
, y: Q( g: B) v! }  K& p; r& r- D解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则