回答

收藏

加入而不是相关子查询

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

CREATE TABLE BlogPosts 1 j% K2 e2 V8 V/ i5 r8 p9 Y
(
9 I8 y7 |) e- p" ^PostID INT PRIMARY KEY  not null,
0 i4 Q0 {" s: D  NPostTitle NVARCHAR ,
4 C+ A7 u0 |2 F8 k) H- t! sBlogID int,+ f& y+ t6 @% o; ]& b" H' R
TotalComments int8 l7 Q+ Q6 n" ?3 T. H. `
)& x5 S6 Z  d3 C& }; V/ c
可以使用任何Join而不是相关子查询来简化此查询吗?9 }2 l, f+ }& R5 w! b* D8 m
SELECT TOP 5 *
+ m; w# x& H! f2 d* Q) b% l1 SFROM BlogPosts as t0' l+ J: q6 ?4 c. u6 f
WHERE t0.PostID = (SELECT TOP 1 t1.PostID
  |; }8 e1 R3 Y$ N9 h* k/ t                FROM BlogPosts as t1
% G! N6 @7 o( z- f                WHERE t0.BlogID = t1.BlogID
- m$ r* H/ I7 @: i/ k                ORDER BY t1.TotalComments DESC)* r0 _1 ]3 s' T' U, j
我需要来自不同博客的5个帖子,其maxTotalComments数量最多。) x+ c$ t9 o) S9 `* a. Z2 z
UPD。SQL Server,但我希望使用标准SQL
+ _& _. t7 j8 m+ y/ O' X               
+ v4 z2 g2 T- ?解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则