回答

收藏

SQL计数(*)和不同

技术问答 技术问答 281 人阅读 | 0 人回复 | 2023-09-14

为什么不能count(distinct *)在SQL中使用?如要计算所有不同的行?  l8 ^4 r0 e4 D% r& w3 {
                & f% B9 u5 q& q" J3 a2 `
解决方案:
& u  q# U" D6 z* O1 k0 ?1 b. \                : e+ W1 D1 w& a. w0 x0 i: O6 e
( d% G2 ^" _* _  d' u' o0 Y4 a3 I; U  S
+ |1 c' J9 w/ H, }5 X
                select count(*) from (select distinct * from MyTable) as T; a* d0 X* C, x, U! A5 G3 K7 b( h
尽管我强烈建议您重新考虑使用的任何查询DISTINCT。在大多数情况下,GROUP BY更合适(更快)。" g7 X) o& H0 p
编辑: 阅读问题注释后,我应该指出,您 绝不
/ K6 J! t- F1 z- X2 ?7 m1 E应该要求DBMS做比实际需要做的更多的工作来获得结果。如果您事先知道表中没有任何重复的行,请不要使用DISTINCT。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则