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

我的地盘我做主
该用户从未签到
|
< >Having
. A! A& s* y# p7 ?* {6 d3 g; y. X用途: 1 b6 P" h7 H& a6 R
</P>< >指定群组或汇总的搜寻条件。</P>< >语法:
, t' V+ P3 J& ? </P>< >SELECT column,SUM(column) FROM table 6 D* i9 C; k* `/ {# V4 k
GROUP BY column ' G+ w1 G; P2 H ^, \8 O/ L
HAVING SUM(column) condition value " m* z, z! B6 @) F$ H, }
" ?/ D8 }" N/ d+ g解释: ! W: Y& b4 E" ]) r' g; \' [
</P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。 2 A- G' n6 n" I. J
</P>< >例:
! U3 S0 c# x8 N- M7 Q2 m </P>< >"Sales"表中的原始数据:
8 i" G" p Z3 N% e: Y4 L </P>< >Company " x% L) ^ N h& p* U( f: y
+ P0 a! ~* K& U* |+ ? Amount 8 L# E; u. ]" B( C- r
6 T3 l9 U/ x& N9 e9 u0 n) O$ F* h
' t. F1 J$ S5 w" P% i
W3Schools # o' P9 m& E' w% Z6 v& r
0 X4 s% A& y( u7 h7 d5 [5 {2 o
5500
' Q) u' e6 G. i; E/ {
- R+ M0 g7 M0 G8 V 0 b t; U+ {9 e
IBM
) Y: j" o3 z3 E8 Q4 y" v3 P
' {0 L6 O6 ~. ?# J( c 4500 ; }* V% E3 d( |% X+ a
5 O a H1 Z8 c2 M- D( u- r
! m9 `# J! D0 hW3Schools
7 G( K3 }) m' d; V7 z7 q4 O 3 g/ B* B7 }3 l5 k0 E1 W
7100
' \& u9 Q* p; A% w
6 E' e- J; J D9 P </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales 4 [1 S/ e) F i! q6 N
GROUP BY Company HAVING SUM(Amount)>10000 & Y. ]& l% d% S4 e9 J
</P>< >返回结果:</P>< >Company
" x$ d7 Y! J4 U% N( x# e6 e* _& ? / R% ~$ O% i) u# T2 C2 K; _
SUM(Amount) % ?! k$ `1 q/ ^
, p5 x" P& l: C4 Y) p- x; a" c
4 c+ G$ ^6 ^, c4 S$ x9 pW3Schools / x( z# ]' L: H8 B+ _/ H
6 o9 F1 h* c+ v) {) c% X
12600 5 {3 p! a9 ?+ V8 {; w; R8 a5 r
! j' `- A, p/ F! j. A( g
6 D& u# m0 r$ q5 u ! U. ~( P- e3 ?, n. ~) B( s
</P>< > * Z2 o A0 \/ @6 R7 `$ h
</P>< >Join- t9 c* ?" C3 i8 o9 A, S
用途:
& f4 Z7 d& I+ s( B P( i! c4 I </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
1 u& P3 J- ?- s* s% @ </P>< >"Employees"表中的数据如下,(其中ID为主键):
4 n1 b, q; E! v% t </P>< >ID " o8 [% E8 O. ?
9 n5 p H; F* ?7 f4 f# b& e Name
! l: W! m4 f$ ]+ U# P7 Y' b
, o' b+ G* ?) K4 g2 X: i$ ?
# z1 h$ Y7 k* U01
$ X! I3 V/ @: H4 O% s4 Z T# h 7 P! Y, x" s% w# F- q
Hansen, Ola 9 g, c3 }+ T Q4 I! v
# M5 H& E3 |% B: y d
' A5 B6 f# |$ ?" W% a' Q+ |) i+ w
02
* [8 D. D5 e$ i4 q5 ^% D
3 [* J, c, U1 [' O0 @3 Q Svendson, Tove
: X G3 A" }3 {- t) a/ L% S * E/ Q _" q2 b
/ x5 T5 M- f z
03
1 h0 n2 R* J* u2 y+ l8 O 4 ?: Q: o# G& n( ~- s
Svendson, Stephen
a- C5 |, F s% U
1 z9 g8 Z) {9 Y. i0 ]& b. A $ i& ~, J5 G) P& s% ]: o, t. ]
04
' n6 M" r1 M5 o" s' E
, p% Q* Z/ V4 G Pettersen, Kari - h: f) \- e- n
* |6 c& M( ?4 Y* c0 ^
2 n4 Y r E% k4 g4 c9 A
"Orders"表中的数据如下:
0 |% T- @" y* l1 o P; V; _) J2 c </P>< >ID " s, z' Q! _2 U; G4 o
9 K( Z' e) Y- \) b$ W Product , _3 V N% T8 B9 X1 n
8 o9 |% O7 X$ u- w& @( `5 Q0 z 7 I0 U0 d1 T2 V6 z& d, @ h" Y% Q
01
" J4 ~! \3 c6 T7 I# f $ |* P$ K9 K3 ` d1 N5 ^: z4 Y0 T$ O
Printer
- a8 Y. i2 o1 R; Z) J " ~9 p' U' ?) Y( c8 [
* j* O6 c# D- n) m, f03
! G/ O: O: K1 t; X 3 N! c1 R( f' |! m. B# {& _( c
Table
- Q1 l; A" ]& T2 f! G% K ! F5 y! j% e. g7 N
9 H6 Y' F% L4 K* z i3 y; T+ _03 + O; h/ @ m$ j D* U
C* O/ ~3 ]* {8 O, c
Chair
) g7 S' s( e# ^$ A# S
. C2 @ |0 c) f% z5 |+ l0 v& d </P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product 9 a( B0 |% ~ M- i
FROM Employees, Orders 9 P0 |6 c' }, ~: {1 Q
WHERE Employees.ID = Orders.ID 7 z( \. Q9 e0 x1 g2 ^
/ p, \. S; o6 O
返回结果: * O& H. a* }) o7 ?- u U
</P>< >Name 2 g% O. Z: R% `1 Q7 d0 F4 ?
3 U' R F: N+ P) n Product
$ n9 e- ?, x9 W5 R# g1 S
* }+ k9 y- q9 S
. U: z+ }$ f, K2 g3 N! `7 AHansen, Ola
0 [, ]5 ^, z7 d+ \: U ) p; ]% M' C; [7 r1 }. t9 ^, y x
Printer & C* Q6 x( J0 @( ]2 J+ g$ n, Q
, S7 f; M/ [1 D
$ S" e9 Q( [, NSvendson, Stephen
( a" J8 o$ G7 _$ y5 l * G9 c$ {4 S- w# d* g% `
Table
$ k0 {$ u t, y1 g% H, u$ { ; L: `/ u% J9 {# v
! s/ y5 F) A! g8 PSvendson, Stephen
9 r$ @7 f! t2 |4 g; N; P
3 \# O6 ~( Q7 R. F5 r Chair % w' |( _- e( u
9 w4 G8 ]1 J( ]
</P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
- n1 D9 d$ D- |5 eFROM Employees
! p c# J2 V+ NINNER JOIN Orders / ]) H/ y" t9 ? U$ k5 t
ON Employees.ID = Orders.ID
& |' ]0 V, A7 ]1 g</P> |
|