- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
|
< >Having
2 G- k6 D7 W i6 w) L9 E; a2 s用途:
8 z0 r D; q" n( j) r, E </P>< >指定群组或汇总的搜寻条件。</P>< >语法:
/ S! l" v+ [) }& Z. T </P>< >SELECT column,SUM(column) FROM table ) _% ^# ?3 y: N- V U# Q$ k) t
GROUP BY column " ^, Y: ?6 O4 K3 f* m1 ~
HAVING SUM(column) condition value
! u" a2 R+ n% d: C5 E) H8 T9 Z5 U " l$ X9 q7 q3 n( p1 M+ e
解释: # q$ v8 m# f2 B" \0 H& E; S. y
</P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。 . v; u+ f% _. T* r* F% B0 J- `
</P>< >例: . }4 I9 p6 u( L) z& g# {4 z! r
</P>< >"Sales"表中的原始数据:
; r: |- c3 ~" H3 L$ y8 N </P>< >Company
. m% G6 g( A0 k0 K* B% V: B: g
M$ F/ Y- O7 s+ [5 ? Amount
' a7 q* _9 p( q
. p$ S7 n, O \) ?7 |
" j$ q6 K! l+ S0 MW3Schools
: r/ r6 y) S* w8 u: C: a$ V# f* @ : V/ \) G: }2 |5 \
5500 # V% ]8 W5 C5 p( H$ i0 N
$ Q5 i* E( z2 t& Z" K
! g, p8 u7 q: l; U2 q* SIBM . }$ P5 d+ G" Y, ]0 [4 ]! ]
: m/ q4 C% H: \) o8 e. E- g# ? 4500
' a9 f& C, q6 U" t/ ]8 [
* q6 g, p" S+ v" g9 F
6 u* @ S3 K& H6 v+ A, FW3Schools
$ \# r R. O% N7 O8 z6 G4 F
5 w5 ]! U7 ]/ [- {- _4 U8 N5 E7 | 7100
- ]" q' i2 f4 d# B( I, y ( W( j! u! M) U1 J l
</P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales
* y. }$ a, Y3 \: H& F: p6 N$ AGROUP BY Company HAVING SUM(Amount)>10000
2 v0 C* A, l8 S( ^, t* S </P>< >返回结果:</P>< >Company $ P& q# D3 P& \; Y/ f+ G. c: W
5 r* e1 K6 ^4 G( M: l* G4 o/ e SUM(Amount) 0 }7 ^- _! n% e4 h" A% D& ~1 ^
; d. Q: K4 y, k! X- z6 y N% h, ~
" Z3 b# |) d. T# r o6 _, `W3Schools
7 E) W; M2 C0 z% `; v( W/ e) p6 J * Q' T' I L7 s" {, e
12600 4 f& R7 K, m+ G) p
; i; D* l, M' _6 M' g7 ?% ^
7 j: G e' D) B" F4 Z6 N
1 |4 W4 K: C/ m/ L8 S9 j8 C1 a </P>< > # M) U" `7 l& Q6 w2 ^1 b% a
</P>< >Join
, R: D0 j' e5 D4 z( i, ^: c& U用途: * t* S- U; x5 F: S7 a
</P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例: - Q0 ]1 G% L! Q3 @$ K3 P6 t# c7 A W8 a
</P>< >"Employees"表中的数据如下,(其中ID为主键): 6 Y: C" s9 W4 S' b
</P>< >ID % N/ F. P. N4 |5 M; W% _. |
3 [6 u2 l5 x) y. E5 D, N Name & m7 m" O' w; @, w# @* q: k9 a$ G
) s5 O/ e d# I0 E' j0 T
8 c% n8 E4 r# P$ y, H& h01
; t. i; T& y" p: h/ {7 r 8 M0 K" J, X7 e, }+ d: [
Hansen, Ola 2 u6 B& u; ]) V% {
6 C+ D8 G3 J& {+ S( s1 t( h
6 m' l3 ]* T/ U t8 _' |
02
( U! Y3 h# Q; G% y
6 s" u6 e. z6 }4 s% o6 ^ Svendson, Tove
% K/ Y/ y& F' ]$ q2 c7 `
6 a: ]$ W3 K0 @ w
3 r: s& K) _# x) V5 f+ M03
" u9 P. V: u1 I$ W' Q 2 K: p2 W1 n9 b4 Y
Svendson, Stephen ) N' v; u a; R4 [- I, d% n5 S8 B( Y
! D: c3 {; Z( C+ Q1 {
; w, {; U/ H1 \9 ~, |8 A04 5 R; {3 c+ R4 R* \% s
; N& P$ W V2 r/ F- B: b) E! ` q Pettersen, Kari # y* |8 _! g% @7 ~
, |9 }7 V8 D/ ?- r- @4 ~: b 4 a! R% y9 e# j8 L9 U
"Orders"表中的数据如下: 2 f: n- F9 q3 J( K; N% i; x
</P>< >ID
# a6 x% U9 V8 u2 F5 X5 U' H/ a, A- W
; Z' `) @: I* T3 {% D Product
3 N* D2 w3 q& e2 z. J$ V9 w
) n& B- J9 s" O; U" l
g. ]6 w) {- h# y' [% L01 " R# l9 b5 G# t. n! x/ |
0 f& t* N8 z# U; ~/ F B Printer % } U x# j5 ?% g& j
9 X" V7 S/ x2 K: n$ M0 A
0 l8 x$ V. j4 ?# h03
9 ~8 u; t' ?" o0 U# [! m* [ h
( c# ]7 J" ~/ \+ A Table - W9 Q( k) {0 s1 |
/ l. I: L: }& y) y/ u
" K% F5 B/ C) T03
" d! x$ ]& r, a8 i9 u& B
6 r6 ], H8 \9 t3 {- G! j( ~" Y; H Chair + F" z: u H9 H( m
2 X3 M' l9 ]( f
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
3 ?; V1 Q9 d) `: }2 NFROM Employees, Orders
$ T0 R8 C: |6 H0 w qWHERE Employees.ID = Orders.ID
& M6 O0 i. k+ o3 D$ k8 @3 I+ j$ f 2 [0 Y6 X+ N% c
返回结果: , P: h+ b" h7 d/ X
</P>< >Name
& f: j! |- Y# y5 t6 v# u' ]) R 2 V% i+ \ c( U& M
Product . F1 u' K8 K/ ^, D b
. l! b9 f' ?5 [( ?' H+ X( @# p
: B: m# ] I8 @, H' o/ ^" B# b: CHansen, Ola
+ B: Z0 d' |9 o" c5 k- o z& _" n4 x 4 J. r3 i( n U5 ^* V
Printer
5 [$ R( p3 r( x; m/ s+ F( Z" H6 B o7 D& w8 x( v6 O5 t3 h
5 _( G& E, w0 \, K7 u
Svendson, Stephen
9 L% ~$ [1 H! f: I9 S $ P6 l. i8 W H; Y+ l6 l- I
Table 7 C9 ~4 l7 ~7 S1 @7 H
6 E$ C6 F3 E# {. E) A
" Q4 i4 ]; y8 E- F
Svendson, Stephen
" t. f4 g" S' e5 K& a" X, a * x$ H7 N. l0 W
Chair
$ \& \% [6 ^1 w9 s( [& X/ C; `8 e 9 Q- ~* j& z1 k) c R+ h7 a* [1 z
</P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
4 M m/ c4 O/ \6 w) ^) ~9 [1 `& VFROM Employees 5 f2 y% h: H+ s1 ?7 |
INNER JOIN Orders 2 X( @3 a" _' z4 P9 t" S6 S" @! h
ON Employees.ID = Orders.ID Q0 ~' W- v9 A
</P> |
|