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

我的地盘我做主
该用户从未签到
|
< >Having) |2 _' v) O5 F* D1 v
用途:
* P0 A, R7 s w/ n- j </P>< >指定群组或汇总的搜寻条件。</P>< >语法: 9 r% s g, {" G' f: q7 Z
</P>< >SELECT column,SUM(column) FROM table
0 N" S# @# c1 P% m7 @3 m T9 e5 F6 l6 uGROUP BY column / I1 A w g8 ]' k* {6 W# E3 z
HAVING SUM(column) condition value
6 C. [" z) \: o7 u' h i
2 ]" M% Y3 Y( i4 Z0 z. v) _解释: {; O; r, U4 o# W2 ?
</P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
]1 M3 h3 n3 |/ ^4 W </P>< >例: " F) r4 X9 g. y0 y8 X3 _
</P>< >"Sales"表中的原始数据: + S# o r8 |4 T
</P>< >Company 1 L$ y% ~+ n6 o# Y8 i8 L
! H1 V6 m, d3 K' w+ s6 O+ h+ j Amount 4 @& G5 Q9 Q8 X$ s* V- o) x
: X. U& B$ S# Y ^; Y! Y: x
' J( j- m$ \: J; PW3Schools 6 k% S3 n# P, g; \$ N1 h
2 `3 o4 M3 v: E4 Y: l/ u
5500 9 s- A d4 t" v+ Z3 g2 F
# d7 ?; f0 R9 ~
% X% d" i; }$ W! f& M8 [% lIBM 7 D. e' ]. }2 ^9 W
; A V* }& F. q7 v7 y 4500
9 r1 q" J8 k @1 i8 d / t$ @4 o f' u j9 f
- p& B! E S! S
W3Schools
I6 n0 {; v5 Q1 n9 ^ ' Y& M* N0 B" B& ?2 {3 F
7100 0 B5 |1 L/ f# t! |( t0 A3 j) `; n; B
/ p1 D/ S3 d/ X& w7 l% k5 r
</P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales
0 P4 m, u. A" i" e8 V. [9 ^. VGROUP BY Company HAVING SUM(Amount)>10000
* H7 u- ]. x G </P>< >返回结果:</P>< >Company
5 a. s' {2 S) Y9 x. i7 q& y8 J K9 \8 E/ V. M/ t, \
SUM(Amount) 1 [- @ \+ ]" y) B: [4 u9 [
4 t- b& J# t# t8 ?" l . D% u+ U$ F* d; `' t( C7 F; ]) G* D
W3Schools . k9 B' z- }5 j
; [. m8 i7 X n& {% j. [ 12600
( B5 b0 X2 J) O8 b4 L" S+ k 7 W/ Y) Y+ A0 I6 D, N
6 d% T9 m* N) y5 I7 \
3 g5 G# c/ f; X4 Y3 D </P>< >
% ^( n& B& Z7 L7 \4 j9 Q </P>< >Join
& P3 O M3 p3 T$ a用途: k2 v: z- X3 [, U. L. c' ^8 }: A
</P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
. w1 X6 H! x8 N& ^/ V </P>< >"Employees"表中的数据如下,(其中ID为主键): ! n1 B7 a9 I6 f1 ^& H* ]7 A" |4 B
</P>< >ID
, z8 U0 |' L; m3 _# D0 d2 h, f
1 Z O0 U' q* a. k; e. H! o8 ^; ^ Name
/ ^1 }$ L; t' e6 p7 P" ?! l1 {0 a : ]% c: x0 j8 ]$ M7 V% a
6 l4 h# C1 g' l3 s8 n! W
01 - p: C6 l" X) U( M- f
+ w% g' I0 u+ [3 S: m& Q( h Hansen, Ola ' v0 Y- e- j6 ?9 V' H3 s7 o
: |$ k: ~! ], u' M! ]8 t
! m. Q4 I9 @3 l' M+ b02 6 @& q% I# ~$ M. ?3 Z5 }" C
+ g- P. d7 F& @* T! T Svendson, Tove 6 g# s7 T0 N5 m- o8 s6 [
8 q' X1 y7 n$ _5 l( `* G' Y6 Z " q: c" T* C/ N9 M; k5 W
03
! T \; F) {3 \1 [- ~$ k
# R+ f0 h3 c! w0 o Svendson, Stephen 0 ^7 P, O+ B: X9 {
9 V# [% ?( _1 Z1 q3 U+ F " S! g' }$ A3 _( Q
04
( H! b8 @/ z7 C8 Y S3 i+ @
, ]( W3 v. l0 w& t! Z7 v1 T Pettersen, Kari
: L" q* W. j+ G0 h8 l& ?
( Q! z8 J# p$ r5 |4 f8 ~) Y' c
- Z7 m' j" _, E7 }"Orders"表中的数据如下: , l( n% W' i% M4 p, m4 O. x7 A
</P>< >ID 6 m; s5 T- A" J9 V: N) b3 q4 U7 u
6 q- ]8 N {& l$ t6 q
Product
2 e- Q$ _" O) {, b # s4 W. S/ T' b) C) c, p8 E4 _
/ K( K' R( w+ J; R/ ?. `5 l: F
01
% S6 e8 p1 T! q/ N6 E. L0 J
. P( K% K7 _) s( h) ~1 { Printer
) m" N7 i& C) a% V0 Q $ @# l. e" \) `8 V/ q$ u4 P1 l8 G
6 \) p3 D# Y7 {9 @5 \0 {03
" x' F4 v% l; l+ b, d& x" N
1 W2 v. B- N! d) ^/ Q Table
/ y/ Y2 [6 J+ P7 [+ ]( Y! n8 k) F" _# Y
) T9 }# ]3 @. b; D3 k
' Y ^ V8 F; K7 u, }- q2 @03
/ q& ~- t! \% U5 }, l! d8 j7 g! x+ [
6 } u0 b3 S+ W4 X: ` Chair % J6 K- N; E, Y* q; F8 a/ O
5 @ V6 f# r& N* ]2 t. i
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
+ g/ J9 q% Z! r; s+ G* P, uFROM Employees, Orders + u7 D! P* D, A" X# E
WHERE Employees.ID = Orders.ID
& h' w' V5 m5 I
1 S( k2 Z" x6 Q. A% q0 n, u返回结果: & |0 {9 F9 Z0 z7 f9 H [, n
</P>< >Name & V2 u4 U# E2 }! e4 K
4 i6 b' |( n: O2 k g! s3 E5 F Product 8 K. v, a6 \+ u3 {
: @. ? c- f9 n! J
0 S+ {0 F' o0 t9 sHansen, Ola ; M! d" @2 ~; q( C. `3 X7 {) N
$ l* k& \ D. p9 j( _
Printer c# r g5 X* d1 y& @( B, ?+ d
0 W5 I- A8 H( z7 }
9 Q! i4 _+ t0 X- x# \Svendson, Stephen " e$ T- ?& f. D7 W4 o. {4 L1 J
5 U3 s6 v$ }; X2 U Table : D9 i1 B5 M; k8 x
& i/ R/ K* b" e6 L! v H# M8 j* e
; }$ ]6 Z3 ]7 o" K' \Svendson, Stephen
4 s( `( i( u% c3 t: n J2 @4 P# z5 u$ ^/ F/ K% w
Chair 9 U8 i% I% g- y# v$ O( G
! ^) P, W' _, Y( w" k4 H K" Y* j9 C
</P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
( F* u5 s) H* s( U. [4 j$ l# nFROM Employees 7 Y1 b4 N5 K+ t" e8 t
INNER JOIN Orders
% D+ x* g0 L) ]" W7 q, ]ON Employees.ID = Orders.ID # r" q% v: O! K9 Z3 s2 `
</P> |
|