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

我的地盘我做主
该用户从未签到
|
< >Having
2 E, S" v0 x( Q" V用途:
' m* \+ c" p' ~2 D! V </P>< >指定群组或汇总的搜寻条件。</P>< >语法:
8 i3 ~! @5 q% k+ V </P>< >SELECT column,SUM(column) FROM table
( z9 h/ _/ x9 O' M# f$ IGROUP BY column
6 F# f4 n" ]* |( Y9 i) ?# c9 z% zHAVING SUM(column) condition value 3 U8 X. e" p6 k8 C# n
$ }, w0 u* `1 \# k% q
解释:
$ g) V* P/ \2 P h$ A0 ` </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
$ B3 z% r) X# C </P>< >例:
- N# ^' s2 P, O# E# c8 h </P>< >"Sales"表中的原始数据: $ u7 _/ H" ]- H& M
</P>< >Company ( u4 Z* s( ^; b1 M
, |2 z# F+ u- M4 e& X+ F- ?. Q Amount
5 J& C2 U1 B- a/ q" ?- F) D2 ^ : |- L* [' {; w( K% ]8 |+ a! G
. e9 G$ K3 R! R. Z1 F% [( u+ w4 p
W3Schools & [9 l# `2 t( @
1 s& Z6 J/ v" u" R# R. W% i; W 5500
- m" a& ] g' t+ A5 e3 C. t7 B
2 n1 Z8 b$ h- F. p0 ]" X! Z * l' h% h# h3 K" k% v, W7 _
IBM
. \2 x3 o1 ^! G7 J4 I9 C4 t , q3 K4 y) H9 q
4500
! e% q( ?0 f( O0 x% @( g. e" G/ c 3 u$ Z8 V# N( V5 e! M' X \4 b
8 G: |( [! Z7 G QW3Schools
2 C+ O. `$ p' t5 C) M
3 D' k, T3 z1 k- U 7100 ' m# k% [0 r4 s+ I9 P
# w' a2 _% p7 R6 @" M& T
</P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales
% j. O5 ~/ D$ h9 M) ~+ OGROUP BY Company HAVING SUM(Amount)>10000
7 [5 L# d0 U: {" F; o </P>< >返回结果:</P>< >Company , f2 u, L7 X1 e2 Q
0 k2 ^8 h: }& b' t! l- S; b6 L. X9 y
SUM(Amount)
, j) p; K6 q5 R8 N" p# t
. b9 N5 f9 b1 w" P0 z" [3 e - w0 W" P8 A# j* ~# ~8 Z. a
W3Schools
1 U4 a6 Z, S0 t7 N) W& u$ d ) n" Q7 ]- Y6 X7 i5 j
12600 8 T, f* c. r' x
. w1 d& I% q$ d2 b0 N- d
4 @) p4 t& O4 W/ a$ O }9 B 0 L1 u6 K/ N/ }$ A4 x4 h
</P>< >
/ H6 H/ l3 O) m1 ` </P>< >Join
4 R$ [" ^! J5 n; I5 f" W用途: 3 u1 F' j$ a% K0 m1 M5 P) k
</P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例: / P6 B* v7 R5 x5 v$ U& o5 @) o
</P>< >"Employees"表中的数据如下,(其中ID为主键):
- C. _ b3 u' s0 S6 O6 ]% s8 ~- c </P>< >ID / g* Q4 P2 m/ I- a0 \
! r% `3 [6 e, Z9 I2 h# R# r. C$ X
Name 8 s) J9 R3 [8 i q3 a+ E: ?
0 Q4 e# Z8 J- @, e" W t9 B+ ~0 k: q' o
01
% U: l! `7 S3 M! u' ?& f 8 d8 P/ n8 O% S- A6 J7 T+ B
Hansen, Ola
0 o3 F4 ]3 I6 T9 A! ~* F8 H ) ^- q# J0 e1 r: G6 ]1 r" b6 k X
# l, K$ b9 R$ x Z7 ?+ }4 G02 8 p; S) q: J# m4 k7 ~
. |# m# y6 G/ [ Svendson, Tove 9 \) I4 B! P& C' s) ^% W
/ W( ~+ W# _ f8 Q' N% r3 ~- q
; U; {" M. w; M9 w* p03 3 f9 Y+ c R1 k/ o2 v% M
9 M0 V( i/ a3 V, ]% d; V4 r `# b7 i Svendson, Stephen
7 D; n" u t; ]) c0 D
! U5 t: v, P2 D$ ~ 7 ~" k* h! m6 n2 F1 u- @& p. M4 t
04
8 q' R6 A& A. p) Y$ a, P 2 ~8 Y" A0 }$ Q' ?; c' C( V
Pettersen, Kari
, Z1 ?8 d5 B8 f5 H. [& Y# O$ ^1 `+ m
% w/ k% p8 f9 P
# R4 h' _' Z s3 Y"Orders"表中的数据如下:
6 j6 k( q6 h0 u% K7 ~( H </P>< >ID 9 i0 X% S5 Q& g7 [
+ S, ]& x- N+ M( |
Product : A5 e, n. A0 n/ N
% z0 m3 ~, l& Q+ r$ E; F2 H
3 @2 D( ]* L8 U0 Y4 V: z* g/ W3 S01 - Y2 p% {# q( q6 i
9 {3 }* v& }3 e& b Printer 4 {' N7 w; P( d+ E4 Y3 Q% Y, h% A
; s4 m. k1 i* j7 {! S2 }
, u& z2 {. H! U03 7 E. b" ?% c! Q7 P
4 Q6 e* y4 r* t; {* p% T6 S+ f! }. l
Table ) M J( X3 Y9 P. j; _5 N; P" M
% ]* `5 B7 m: W8 X9 P / O3 O; U! m* @, L* w( d
03
! ]% D, a7 a# b0 N2 x% o
" z4 H9 ~& W5 N$ F+ w Chair
: W" e3 {" P1 _ # l+ u6 |7 U# {) u& l
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product ! B% o2 d, n a0 z3 L- y
FROM Employees, Orders
) N7 J: q6 [$ y5 SWHERE Employees.ID = Orders.ID 2 r3 r7 }5 U3 M, o; H3 j
2 y" b) @. b! o$ E7 x2 L返回结果:
; V" U1 o9 M1 \6 r* s2 p </P>< >Name
3 V& h! Q) @; O3 f% q% ?: o " w: g6 l0 \5 ~
Product : V/ \+ x5 f5 {4 o' p, n
0 y2 `1 q0 W9 s f+ N
Q5 y, |) {8 E5 N3 OHansen, Ola
$ F( D) _' [1 E8 p" w( P1 J $ m& _; V: {% k
Printer ' S9 M* C5 [: a% g; v) S H
6 h8 m3 A/ j: J$ p- G' F+ d( { $ [7 u$ t" G1 g( J6 v& i! p* r
Svendson, Stephen
; M4 ?( `$ y9 G, m Z7 Q
2 x) m2 l: ~' F8 C) k" ~0 z- _ E Table g. `- X7 g& t8 n: h* v s
; l& P8 r6 p o: c
# I1 Z. o& x4 g$ ISvendson, Stephen
4 N# G8 F" g, C6 S& ]. t2 Z1 z, ? % v8 V+ D- S S& H
Chair
( `: e& q& l9 F2 D) G& B* W
9 H3 \3 u+ z8 S! m </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
2 P, G: {3 M, V2 c2 N1 C; mFROM Employees ! i3 B1 q/ {8 |% h8 W& M
INNER JOIN Orders
9 S8 V% _, n1 N: r% B \4 I5 N3 [ON Employees.ID = Orders.ID ' A. O3 \! m1 v9 f
</P> |
|