回答

收藏

SELECT在COUNT个条件最少的列组合中出现

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

我每天都会在表OptionsData中存储一些数据。在此表中,我对两列“ asofdate”和“ contract”感兴趣。asofdate +
9 s: N& b. p$ n2 I/ Ucontract的组合应该是唯一的:如果不是,那么我需要进行一些清理。我想返回3列,如下所示:asofdate !! 合同 !!计数> 1) N7 Z1 J8 n/ Z) A; p% X. H
这将使我能够识别表中的重复项。我尝试了以下方法:
& L) s) H, A' o6 _3 z1 {5 sselect asofdate, contract, count(*) mycount ' P$ X# a8 R- U9 ^4 D8 N. \( F" e  [
from (select asofdate, contract
; N1 ^9 }9 x2 c      from public."OptionsData"
; A- F$ H9 J9 |) c" ~2 ^% o% {      group by asofdate, contract
% j# h4 d/ H0 y6 Y! C4 ?4 W! p      ) AS DerivedTable
- |$ \* W( ^9 m' q7 Y% QGROUP BY asofdate, contract
0 N' N- w) C2 O1 F1 o% T) SHAVING mycount > 1- ^  {8 L! |' ^2 _3 O" A. {
ORDER BY mycount DESC+ J7 f% J2 I4 Z8 X6 f, e
但这返回一个错误:- k1 L9 ?1 X& _- @( e6 m' _! k" a) d2 A/ N
ERROR:  column "mycount" does not exist
5 L$ O/ G0 q$ Z9 e2 n+ r* d" l如果我指定,也会发生同样的事情
% w0 `* E! L* v* x. hHAVING DerivedTable.mycount > 13 D" J3 X# u$ w( [! F
(我还尝试了WHERE语句而不是HAVING语句,但这给出了另一个错误:
6 J& T" I/ @) {5 \  T9 |ERROR:  syntax error at or near "WHERE"
+ ], g" v: B" _# w2 O& @+ O6 m  f' i  o' ]8 [, X
不用说我是sql的初学者…" E4 m9 I, Y2 G2 q& `* l% v2 _
               
5 I1 L( n0 m. Q) f4 R解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则