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

我的地盘我做主
该用户从未签到
|
< >Having E& S: K L2 Z# m8 d
用途: 8 J& H2 j) W O3 x( F% {! C
</P>< >指定群组或汇总的搜寻条件。</P>< >语法: 4 x# b3 N- [+ I! d/ W( {
</P>< >SELECT column,SUM(column) FROM table 4 p+ E2 b6 ^8 e$ N6 g( h2 K- \
GROUP BY column
# X! G/ _" o) ~6 c0 w8 f- ]: QHAVING SUM(column) condition value
$ B! h {. Q+ Y7 z3 U 4 S3 z6 e; @. q$ M
解释: ! ]& Z6 S8 z, `& J B- i
</P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
7 r k4 X4 ?0 A6 F </P>< >例:
; L8 F- T* F" J' v% x </P>< >"Sales"表中的原始数据:
% D, m5 `# G4 M n a0 Y </P>< >Company ( L1 A) L7 p- Q
0 L& W" C/ R5 X" U" y; k# T3 a
Amount
& `8 q3 p6 o* `
2 ~ d& R @# D
/ [! j, a1 `' T8 b1 w. `; n9 EW3Schools , ^. r# H; u9 f$ \$ n( c- \
1 {" n* w1 b) ]: X7 W8 D6 m2 K 5500
% j; M$ a( Y! W( c i4 Z3 Z4 c' A5 ^
$ V9 m6 C5 o1 P- e& Z; A6 aIBM
) g+ q7 B+ O7 V1 g0 W7 p& r 7 t. p( J, M8 V& t+ k; h* t: x
4500
8 K; e9 N/ O1 x" x9 V1 R0 [1 @ $ a& |! g0 W3 N; b% O1 o
% ~+ e4 \; O' |( ]W3Schools - L: n2 b* ^& n" U0 |& c
0 X7 W" c5 \1 f1 r
7100 3 D2 @1 Q/ ]' L, T! _0 P
+ _" M0 F/ U3 Z1 M9 G </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales 3 e+ n! p9 Z, R( Q7 H9 n9 f
GROUP BY Company HAVING SUM(Amount)>10000
; l4 H7 h2 r( K* e </P>< >返回结果:</P>< >Company
9 u7 y* k1 t# k; ~( f) j
+ f4 e4 X3 T2 ?- f3 {3 H SUM(Amount)
$ `# n3 a+ y* {
' ?; u1 [; u, p5 q ! k$ a; U1 w' H6 ~& q$ t3 Y/ ^
W3Schools
5 @; T" Z; v. {6 F! P ) L6 {! A: G* X6 q$ \* R" L4 S
12600 & H# c, ?0 b- c/ A. Y4 e6 q
- @5 l3 @$ i4 C; \9 Z
+ Z4 i% Q( A! Z3 |7 `2 N% N
1 N+ O; L+ v9 V) A U </P>< >
# A' c! T. Z! {$ n% M5 m, |. f$ \ </P>< >Join/ k) ^) }9 z4 n1 U; [
用途: # ?/ a( R. A4 E0 c6 o; Q$ ^
</P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
, M- C5 n. h3 j1 F# J. g </P>< >"Employees"表中的数据如下,(其中ID为主键):
2 I7 K9 L1 U. o$ X6 b2 |6 V' l </P>< >ID
' ?* W% g" \2 N+ K6 R. z m5 s& I# _, i% P2 H
Name # V8 N, X) R: S$ |7 l" k
2 ]4 g# E9 {; [( z* b
/ |2 B2 X: N. h% n0 _01 8 ^8 d; u, f, i- p7 d1 K+ a
: L+ B* J' h" P4 ` Hansen, Ola
6 Z* o8 ~9 a8 J' W! s% c / }% d1 T! f/ q9 I
; l" b4 z% z+ y9 F* h
02 ! u) f8 t% b7 f
$ Z5 j* b2 Q$ H" h
Svendson, Tove
0 Y z$ Y A, P8 q! f [+ p
5 t% O' c$ h4 o2 f% _ ; r. z7 p0 M7 |8 x" v: U
03 3 q$ g. I2 X0 d5 b* [" {# Y0 V3 q) [
+ I E( ^4 q9 ]7 g. f1 | Svendson, Stephen E0 }" J5 M# a; j* a) z* i% }
6 |' F& y, r' } p
& S" X' z) G8 O0 T I, n% \ y04
% j* p! ]0 J( |3 P; d0 [+ S& K* Z
r7 m, W8 Z2 g) K7 n _: q Pettersen, Kari ' T) T' u6 O4 i' u% J
4 U1 }$ c0 G( e( I- q
$ C6 P6 _8 ]/ W' x0 F3 N* k
"Orders"表中的数据如下:
4 F% T; j" |8 J% s; I |4 Z3 d) A </P>< >ID ) x7 D3 K3 P2 T. M% t
" p4 ]3 v$ R1 j3 |9 r
Product
4 {) I! f9 | X
( |% }/ H4 O b9 d* m8 O! L * Q# U" d$ p; a# A$ J
01 g/ J0 d# w$ i) y: X6 M: v: a
1 y. P A8 G. R2 J$ {$ ^3 U8 _
Printer . U2 [7 ~6 Q. p3 Y1 R; Q+ {
4 k8 D. G/ f" D, u% C+ c# k# z/ ? - N. b$ M% T( _% ^" ]5 f3 w1 n
03
+ v, E' A( Y* U" T2 @ 6 k# g" k" ^2 L0 C$ w
Table 6 K0 F. q4 u0 \8 V% o* |
% u; U2 t9 x6 @ {8 w r8 V$ [* v6 Z
7 `; b/ d( V+ k" ~7 t- K03 7 K2 C( D! V) h! Q- g( E
7 v* [: g$ q* b& F# ]0 `0 x- s Chair - y2 Y. Y1 x' \; @6 V" r: e; I3 z
" ~8 V) u6 \0 _* a; b </P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
+ R' e( t2 @1 jFROM Employees, Orders
1 t r; G+ c r. X& |: CWHERE Employees.ID = Orders.ID
# n+ c2 y6 s O: Q7 X4 Y2 G / \. u3 w6 b$ c' y: W
返回结果: ' P5 n4 _9 L2 L
</P>< >Name
% n; C( C+ B& E, X+ {8 D8 g5 K # H, N- F- Z; t. ]% c
Product
/ K. u/ F( E! H8 X' m4 J
5 Y: t; T( J9 r9 M9 P 4 E; A5 S% R" j* { x/ b
Hansen, Ola
7 Q$ x5 m, `5 M 2 N) Q! n8 n! G, Y6 a6 H3 H7 D
Printer # L4 e7 y3 U( W3 z1 y
" x' ~, g/ c' u
4 F+ w6 G! c1 l5 |Svendson, Stephen
% _* b/ J3 J/ _/ s0 p- D
, r0 T7 S' x5 _! C Table - I9 J6 J, L, U. I, E$ a
) E( x4 g! N; ^ 7 ~3 V% t' h; D. k" ^) @2 Z
Svendson, Stephen
" U/ {) I, |; y' x 6 ~. _% J: J2 `
Chair / b2 P3 u3 {) |& {, K6 f" H/ R
9 s. c7 d# S$ l- A7 r$ K </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product , q( H6 W/ [# X; I" A; I$ I# v6 K
FROM Employees
4 \. J, c' S) u ?! rINNER JOIN Orders + S% }6 ~; N. K' Q$ M$ U* g
ON Employees.ID = Orders.ID 9 a& G- Y4 G" m( I% b9 G) H1 b5 S
</P> |
|