回答

收藏

SQL语句删除重复项并获取计数

技术问答 技术问答 266 人阅读 | 0 人回复 | 2023-09-12

我持续的SQL头痛…/ B" O% r5 @5 f" }$ E( P
如果运行以下解释的代码:
+ \; f8 O( @8 R! e* wSELECT State, Name, ID8 t7 l2 j9 n: z8 y- I5 @# @
FROM ...
/ a& j3 ]$ b% t; C( u5 nWHERE Lost=False
' G" x- T& J  [2 b我会得到类似以下的内容:* w/ l' c: A' r1 D: P
State        Name        ID4 O/ L. L! U4 k, Z1 b! Y
NY            A          1235 P  P/ n% E; y" g* U( H
NY            A          123
, F" W8 w8 q9 w4 U2 INY            B          234
, \4 Z' x' B! o" d7 D9 ENY            C          345
- V* ~; k( r0 o" j! d  TMD            X          356) J# W5 N' D( x: Y* R5 k
MD            Y          6685 r) D% T: ^3 U% b3 f
我真正需要的是每个州的资源数量之和。这里的问题是,如果我只是执行以下操作,则不会考虑到明显存在重复项(请参见上面的前两个记录)。' i, o4 V+ a8 A1 K6 P: F
SELECT state, Count(state) AS statecount
# y) `/ d+ D. e& A( d) m+ n    FROM ....
4 `  t/ R6 E  e/ u( {. {; ]   GROUP BY state, Lost
2 H9 R) b4 L" X3 l+ e! b* w   HAVING Lost=false
' ~0 P4 k3 i) D( j. D1 a在仅提取不同记录的情况下,如何获取丢失=否的每个状态的记录数?我以为也许可以在第一个查询中放入DISTINCT,然后在ColdFusion中运行查询查询,但是您不能在子查询中执行诸如聚合的操作。; [  W, L6 {- x/ Q3 E, F! S
基本上,以上面的示例为例,我最终希望做到这一点:
2 v. J5 o% `, ~            State      Count+ O( y: ^) b/ X! k7 L
              NY          3 (not 4!)1 o4 j, r5 _- r0 o" ?4 k+ W
              MD          21 y( ^3 G+ E+ y8 b2 K/ u0 c
我应该注意…这在Access中, r: k- j( x2 }( W* }, i6 N) P
                / K! f( `2 g0 V5 W: p- [  G
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则