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

我的地盘我做主
该用户从未签到
|
< >Having
1 r3 K7 k/ m7 D2 z- w3 V用途: 7 l, k( q0 E5 v$ l: J- a6 g
</P>< >指定群组或汇总的搜寻条件。</P>< >语法: 6 }: |2 B) A8 i) W
</P>< >SELECT column,SUM(column) FROM table
& y0 Y, \" \8 o+ l% NGROUP BY column 9 r! S$ Y* o9 e
HAVING SUM(column) condition value
4 b% Q; X# `+ \" G/ ]& |3 D4 r 2 u# k8 j4 d* ^( o6 h$ S
解释:
4 A. _( X/ ^0 ]6 h' d </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
, y) M. K8 M6 O j0 A* `% X2 x </P>< >例:
! V$ @; X1 }* s# ?! I( V/ s </P>< >"Sales"表中的原始数据:
; | i5 t2 `8 q# z+ @( `5 u: E% x </P>< >Company
3 z. A! Y9 d: w $ _* G+ `+ d+ i( C" K
Amount 7 K$ t. r; F. |" F4 w) ^- w; F4 O
9 c5 b' N1 v; R- ^) E3 T: p3 A
3 d; e+ f" }2 b1 r5 y+ J1 e$ M( J
W3Schools
) q+ B6 z' Y9 g$ @# r2 f
7 I! r% S3 @1 G% a# L9 w7 e1 N Z 5500
* p& F$ {0 }$ z" L
; `1 Z! i; m0 d. A # o! w% h E; q9 N% w+ H
IBM
2 ^1 z# j2 `5 x! X 4 E; i9 U# n# b
4500
/ w. G! R2 n7 P/ h# ]. V & {/ {: g( m/ m! p6 z" m! t
- j7 K0 F" B4 M% g S3 U
W3Schools 0 Z& T& |1 i2 Z# j w; ^1 G
. {& i) ?; i2 n7 e4 b% N2 \3 `
7100 : [" i& ?( \4 m% ~% p
; v% {% u4 ]5 l
</P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales
. m* K; o( l0 q; h) Y+ WGROUP BY Company HAVING SUM(Amount)>10000
' G7 U+ I5 C5 l </P>< >返回结果:</P>< >Company
+ C S/ t& j9 t8 B
3 q; p7 q4 {) m$ e4 t; G6 S SUM(Amount) 8 i4 W# y% r* l/ x# C
" D/ _8 o- o/ N3 ?" U1 ~( r0 q
- R7 q. @- {1 c2 Q2 IW3Schools
' F9 p9 c8 ]. u" v, e A 5 `' ]7 b: c) ~6 ^$ A6 C/ e4 I7 v- o+ H
12600 0 X* P4 ]4 F$ F
# m( [: j. D$ s& E% L7 p; E
& b& E7 G- C$ L9 k. x$ A; H5 q
$ {- D9 M2 D- h u w+ _0 P9 x </P>< > X7 y; S3 ^% g9 e' g
</P>< >Join8 W. S5 b) m2 _3 P" }
用途:
( l5 W$ J/ E0 B/ k+ E8 A </P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例: 3 T; o7 K% n- e' S
</P>< >"Employees"表中的数据如下,(其中ID为主键): : g, ^. G9 Q/ l
</P>< >ID
! R- C, r8 n- v3 D" ]' ^* N, b
8 G7 X/ [+ d1 p' g8 ~7 X! Y, w9 b Name 2 H0 r' J$ Z% V7 H1 I% y
8 o2 D3 U: h4 V% [- g6 T ' ], C7 J. r6 B- q. n
01
7 Y3 |- F8 r( e. a : }2 M6 R- Q0 Y6 @' l) V4 f
Hansen, Ola - w }2 ~1 `/ x3 T
0 w; W/ X6 ?" L8 v0 U1 F
6 k- L! R- Q. Y02
% h- W4 a2 q9 ^, {4 Q) S
- i- J8 G a4 Y$ o4 X+ K' m Svendson, Tove
+ A" y7 K$ J, {" q/ _ % s$ V3 }5 W4 L
$ A3 R6 `2 u" N9 q! i2 `
03 & }. j) p/ e+ F4 z
% S3 c/ c, D1 X' x0 u5 y
Svendson, Stephen
8 y% x7 P7 ^* J9 ]
?* D$ O; L4 F3 j; z. i/ e; J
1 g* ~& c! f! {, e04
9 Y3 w1 A6 X, \$ j4 b% N % M; P: D" {& D
Pettersen, Kari
' J6 ~, c2 P& ]5 o0 c
5 \9 N; z0 X4 U- c6 E; z" g: X 4 I& }4 ^. @2 Z. v
"Orders"表中的数据如下: 7 J" q' n; K8 N& N5 L: S0 k; V. a
</P>< >ID 2 `# V8 E* `& A3 J: O
: ^: |6 [* V, f% s# ~, h8 i9 c0 R Product 0 J/ l' v3 r3 i
3 M3 s. @, y& i( `8 ~5 R" G 0 \; Y% Y X4 r/ u+ V& l3 s# W
01 3 z7 N; C7 c8 W/ K6 R' {* l1 c9 [
; y8 }7 p/ s# C0 W. d. a& E" |) I2 z. x Printer " C; B/ x" O4 @( @/ z# l
r* t: f: J' N {- m + S) \3 k/ z, d1 |: i
03 / ?( M6 X) H- H& D8 ^
+ K" [. y" d, A" `) n6 v& {! F/ j5 j
Table ! \) j* } P& u$ S9 Q2 w
) \: t: m$ f, w+ K6 l5 g0 G
( X& ^* D* Q, B& n03
# B/ l' K5 V: O 3 N5 ~: R' P, l% @# g9 E' ]
Chair - y1 q2 }) R$ z: d' R$ r& r5 j% M& _
9 {8 G7 }$ e+ I, g- Y
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product ; Z6 |( V2 y/ ~3 \
FROM Employees, Orders " K: l/ Z( ?, p* n+ L
WHERE Employees.ID = Orders.ID
) \( V0 o( W" M, O
! _& v8 N! G$ D) P返回结果: 2 y* O: c; Y8 x1 y$ R; F8 i+ D% Y" a+ C
</P>< >Name * A8 U" c o. t7 a8 V
9 w7 F2 b( }* a8 w6 ^9 y& ^. W
Product
2 |5 ?# W7 w( N X4 O0 Z 2 N/ K) i. d' L9 R% L4 N0 k1 p8 `
5 v3 B# \3 \' L, ~Hansen, Ola ) C( T& [4 g- k5 \
% f* N' {& D8 J: q" j Printer
, n5 Z T/ t7 i2 l; u7 S! v- j( P 8 @* E% O3 P( G8 H' i9 C
% ~; Z7 _6 r) Q; A( XSvendson, Stephen 8 p: i7 Q* l' r1 x! u" O
, J$ U$ f' `- i1 U$ i5 l" A Table 4 B9 e. d+ {( H) { D
# M& D7 j; D; c
7 ~4 G& U& F9 e3 ]( WSvendson, Stephen . E+ m4 F( X4 G: L, L. M5 ]" J
, q. S, P, _. o" }0 e+ v' U7 g
Chair
1 h; I8 x( t$ j6 i7 `9 t- i* }8 q- J
* e. |0 R! z, d3 ^2 S5 A( E </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product
2 A/ K7 q* n* T8 x4 w7 B" ?( @FROM Employees ; u8 ]7 {/ w( m, y$ g+ Z" p( y
INNER JOIN Orders + v! @# R6 D0 z: s V) }+ w
ON Employees.ID = Orders.ID , m& e, z/ K, f5 N! _0 z
</P> |
|