回答

收藏

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

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

我持续的SQL头痛…" D* x1 E6 u; c
如果运行以下解释的代码:/ t# N4 B! Y+ S0 F
SELECT State, Name, ID
- r6 A4 t8 {  s) U% F/ |FROM ..." g4 R" c! o& U1 E& S/ m* R  X  i/ s
WHERE Lost=False5 N4 \, ?  @; z; B! a. l' m/ B. j# K
我会得到类似以下的内容:
' P  P& g! B6 M% a  y9 y8 yState        Name        ID& v- p, T, c8 y- {
NY            A          123* `% Y. C5 C# G, ~- b) m5 J  D1 @9 p
NY            A          123
/ @# g8 H) e$ R! V) ENY            B          234
& @  w+ R* {: kNY            C          345
' b1 ^  l" E% F' o; _3 ~4 OMD            X          356" W/ ~& G; u) v4 }# A# b* ^1 z" U+ Z$ G
MD            Y          668) W1 _0 L* v+ p
我真正需要的是每个州的资源数量之和。这里的问题是,如果我只是执行以下操作,则不会考虑到明显存在重复项(请参见上面的前两个记录)。
4 d- `$ N9 \: G! a/ J4 O SELECT state, Count(state) AS statecount
* r( a; d2 c" D    FROM ....& t6 c4 F5 Q* q" M1 q+ K
   GROUP BY state, Lost
( U+ X# G5 l' w5 a   HAVING Lost=false
1 `, U; O& }& B. K在仅提取不同记录的情况下,如何获取丢失=否的每个状态的记录数?我以为也许可以在第一个查询中放入DISTINCT,然后在ColdFusion中运行查询查询,但是您不能在子查询中执行诸如聚合的操作。& U: I; N& v  d! H
基本上,以上面的示例为例,我最终希望做到这一点:
, G9 n8 y9 A/ z+ Y/ S# X, P            State      Count
4 c+ K& A8 ~) j              NY          3 (not 4!)% x2 U6 b# Y' g: W: y
              MD          23 {& c1 b" G. J* c) L% }& ]( O
我应该注意…这在Access中
' P. [8 c* h) u5 D& b, R5 T- P                " ]& s' s) k5 Q# F# e; g+ h
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则