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

我的地盘我做主
该用户从未签到
|
< >Having/ ?+ \1 h* ^* u; l4 B: `
用途:
* w5 n) B# A& c! y8 |+ }: L& M </P>< >指定群组或汇总的搜寻条件。</P>< >语法:
3 P9 [" o+ [# h7 p/ U- N0 }- b7 S </P>< >SELECT column,SUM(column) FROM table
# P5 b, d7 n7 l& |: ]( W1 VGROUP BY column
8 L2 u* B! O$ q$ k u- a- N/ JHAVING SUM(column) condition value g+ o; a% S* c# W' |6 O; R
9 m( x8 d; L7 Z
解释:
: Q% c+ Z$ ~5 @ </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
; r2 i; i. e7 |) E/ M9 r2 U </P>< >例:
5 m3 }& ]7 E' W" M2 F </P>< >"Sales"表中的原始数据: ! M7 x; U1 g) Y+ s- y4 x0 j8 ]
</P>< >Company
5 F& I3 X( W; E 3 ]& X6 m9 E: s
Amount ' I1 h9 Y( m: J0 E% A$ U9 ~
6 p' j0 S, v# u( m
( e: E& u; {5 w7 h |! K8 n8 QW3Schools
+ g5 _9 X2 D" a+ C! Q 6 k, o# x0 [7 Y& }
5500
, G+ c7 {) X, K7 ] + d& C+ z3 m# o
$ f/ V& _: y7 i) B* C2 M* R3 Y
IBM % \1 @& P& ~; U# o2 j/ i! D: A6 d
9 w h( ?0 S% h: s X0 @- J. |
4500 & [$ i+ t1 c3 V, D$ E8 D
. i: {- S2 r' u% S ' m9 v6 T% m7 y' w& T0 E
W3Schools 8 R" b L- \8 Y6 l; x# ^5 O3 Z
& A0 }% c' N. o9 ]8 B! Y+ \/ @
7100 0 p2 n! i" n, [3 f! j
) R5 e7 ^+ f8 Z4 T1 B </P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales ' P5 p- l* C9 n6 M Z4 ~
GROUP BY Company HAVING SUM(Amount)>10000 " ~4 A2 P N0 |: h4 j9 Y
</P>< >返回结果:</P>< >Company ! ~% ?: k8 e, e* Q @: @, ]
$ Y) h( R) @& j% m$ L+ L A8 ]8 C) T
SUM(Amount) ' x0 Y' y) x8 ?
% B' A. {2 \3 v$ T - d5 N; j" i8 L% x$ G9 T( K# h
W3Schools
" }8 B; ]/ _& c/ U) K8 f0 c
- d" i0 U% b3 u5 n 12600
2 `- I: ]0 S4 X, ]4 I" P
8 r; Z( t' `, O' f % K# T: B6 `, V1 w1 a* q* e
v1 N7 @! X! l% Y5 F j+ {( _# N </P>< > : `4 E& {& c: e5 o5 D% Z& K* V
</P>< >Join
- k+ P9 ?0 ~1 @用途:
- i$ {5 E% t: g0 Q2 ? </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
& y e) E, o& g8 [- ? </P>< >"Employees"表中的数据如下,(其中ID为主键):
6 ~: c4 U( ]2 Z </P>< >ID
1 i* A, X% R" |2 x8 G3 n
: s2 x1 b. ], ? y Name
, u4 h6 j8 Q$ ~% J, r
) l3 Z, @7 D: c& t% H. x . B2 ^5 B& X/ X% X
01 5 _0 E/ f3 d' d
( E3 x8 Q3 s- \
Hansen, Ola
8 _# a/ w: _) C' h! z# Q
* v8 X! j% u$ d: }9 K1 \) ?
" }1 W, ]8 m1 Q7 h8 F1 a5 @$ C02
$ Z% [+ {, f) i- m6 r- r Q# x6 ] 4 o( j. B1 }: t. D9 E" Y
Svendson, Tove 9 T) Z$ H* I6 _7 \, N3 [* G- I& t" {* _
- n: b0 T/ X% ^- H# ~' k% \ : i, H5 r4 A X
03 . |8 ]; G; A4 ~/ ~! _, E
5 p+ u5 N5 V# | Svendson, Stephen
# q$ n* N% X5 n3 i. c
1 F9 q! H% @$ b5 G * V7 N( g8 B! p1 i. r! o1 b# F
04 ( R3 ]& Y3 I0 T& w/ n5 t7 Y
1 r5 j& g5 U" K" }; r4 o$ p
Pettersen, Kari 3 }( \+ |' ^7 |. {
0 f9 `& p) |8 z7 @4 L' q/ p
5 X9 \/ b: x# _0 c6 K7 @" W6 G"Orders"表中的数据如下: " R# p( w: x! Z! P* b& F+ x; M' }
</P>< >ID
( ]% t6 C2 c1 A$ d5 }- h! H
% V; s8 {5 D% p Product 4 N/ g1 ~3 n0 T- t6 W
- [ L4 r' @: p
- a K( w0 c8 J: C" p7 H
01 / z& g3 H4 |* O5 K8 J& |0 ~; i
2 b; F6 q( |1 X! K+ C1 k% } Printer - m% A1 O: F+ _6 A2 {' }. s
& A4 G( j8 }; U; f
! v; l8 A8 \1 ?+ a( O: q; F+ A' t
03 6 r' ^9 _6 j$ y1 u- q
" d0 l. i1 F% ~1 u. a! e Table
' g) l+ C- Y9 t1 g
6 k( q6 M+ e/ b- W9 a. O
% W7 D# N7 k; b3 l& S+ X; P8 f7 Z2 |03 ) O) ^4 d; G* v9 I6 t- S- {
7 o$ H& S7 Q6 o0 p3 V
Chair % G ^; \1 N9 G e0 \" _& _
5 S' Z6 z) d4 p% o </P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
1 d2 ~( E- l# ~3 B. SFROM Employees, Orders
( N( p& S5 R8 [: B: J7 E7 oWHERE Employees.ID = Orders.ID # r6 Q! n4 a1 T; w( G% o
+ W9 [/ `% I! l7 Q
返回结果: * m6 h5 q6 _( s! _ |
</P>< >Name
~& L5 [8 k3 d$ g* B 6 g" J7 @/ I4 v: W; }. i9 a! l
Product
: }" f! s! x, u% B
% C. p5 J8 v1 s7 _' z* `8 [, R 7 @9 R) u* N& U% Y: H
Hansen, Ola
% k9 s1 Q7 ]* _, B# I: i 4 L5 T6 ?% k% G# X# r
Printer 1 D) M Y: |) h
_9 |; E3 A. q: ~
" r( I8 A7 C8 }. J4 y+ GSvendson, Stephen
; e5 o* p- } U0 m& i9 l% P8 o$ e3 T # V* W ^& g- X* J
Table
8 K/ Y1 L* i/ v5 y& M
& Z! z3 e0 B R/ G5 d; v4 M0 T4 U c
; J' ~% x4 b# B- Y( NSvendson, Stephen
" R: l/ t, ^; Q9 V/ b" E ( g, y2 h" _1 V. i. e5 B
Chair % [9 i; n. a. p/ r( w! N, d
0 b5 {; f% f9 {2 N </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
) t& E5 m: J" ~- YFROM Employees
9 b2 b, h! e: L0 }4 R6 hINNER JOIN Orders 1 Q& ]% O! Z- J% H6 s" }" p1 n
ON Employees.ID = Orders.ID 3 h' B9 a* `, I. O! T5 P$ u' Q
</P> |
|