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

我的地盘我做主
该用户从未签到
|
< >Having
% l4 z5 H- a9 p3 b用途: 1 g9 k! t" r) \. X7 G
</P>< >指定群组或汇总的搜寻条件。</P>< >语法: 6 x8 C& ^$ h1 D1 C) q
</P>< >SELECT column,SUM(column) FROM table 1 C' N& F! O) `5 p
GROUP BY column + W1 Q) m% [6 ` q
HAVING SUM(column) condition value
5 I1 P- _# z$ J v6 H; k% D% J }
; K7 c1 \/ v' m! o解释:
# a$ s3 Z5 @( B. l7 j </P>< >HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时,HAVING 则与 WHERE 子句功能相似。
8 X/ Q* @+ ]5 T: @: M </P>< >例: 7 {! b4 \! G' \; l0 l" {" }
</P>< >"Sales"表中的原始数据: ) i5 w# o- d: s, Q/ ^& H% N, ?
</P>< >Company
9 }. _ r, v% c* i: R& X9 f, Z c
- D2 |9 b! d9 y( ?0 [ Amount
1 B7 _' q% \0 a1 T6 ~3 s
; m T: }3 P) H+ a& l" m) C
/ T; H! `8 w4 x3 ^8 h; H1 t6 EW3Schools / s, ^5 k* G G3 k* H( f
: B3 z. T3 b0 P$ Q 5500 2 K% f1 {) f* B# x# |- E8 A
! O4 Z* d2 F: f H, p $ Z7 G: r" n4 O6 z: `* N5 |
IBM % U4 _7 K7 M: ~9 F+ {' o# F
# o3 J/ ?4 \- u- o3 Z6 \7 h. w: n 4500 3 [* X& Q! O0 i
7 ~: f/ F; }$ V% g
5 \/ g4 N: U1 Y. z& U
W3Schools # L6 ^; K) i$ H
9 R6 o! x$ X; T/ \3 Q
7100
2 e! x7 Z, r( F/ w- j! W# M0 S$ C 3 m3 M$ w7 B( L$ B/ y6 `( D {8 }
</P>< >按照Company字段进行分组,求出每个Company的Amout的合计在10000以上的数据:</P>< >SELECT Company,SUM(Amount) FROM Sales 3 G+ T: `; O; @! O% J
GROUP BY Company HAVING SUM(Amount)>10000 8 S6 J3 l0 U) _$ v# U; T
</P>< >返回结果:</P>< >Company
9 B$ e/ q: L# P/ j # s* [# Y3 Y. I; p
SUM(Amount) + b6 c W) j: E2 Z
" h2 S5 k! Z: R6 ?
' L2 _! s) z* B& I+ L" O0 R
W3Schools 5 e* o8 s, \$ t
5 p8 ~3 d5 o9 x0 U! M
12600
$ t& D+ q* g! V 1 B6 D* d( x7 J
) l' ~6 X8 W7 A# y) f
. n/ U0 `! k; t! T" u" b
</P>< > , M6 H6 F. j# h. g& ^/ C
</P>< >Join% q- X- P" W- C+ Q0 B3 w5 O" Y
用途: : A9 R, M/ V8 z( B3 C
</P>< >当你要从两个或者以上的表中选取结果集时,你就会用到JOIN。</P>< >例:
7 v% z( J* s3 c+ A$ U* W </P>< >"Employees"表中的数据如下,(其中ID为主键):
/ ] Y4 u$ v% `% C" w </P>< >ID
5 Q" K1 ?+ g4 ^ ; l1 v9 Y% }' o" s! ^* W
Name
( Z2 B5 Z5 K# R, m1 e. p/ D
+ _6 d; m8 z% Z Z4 _; n2 T" b ' ?; `7 M" O7 v: p" u, M" q
01
( U( E/ p8 f# z* s. W/ L $ i0 T9 J1 Z; l
Hansen, Ola
/ ~: \# c- |% C0 R
1 w1 Q3 ~5 g7 f7 v% ~ - s3 s4 d* o& n8 T% B& I3 j
02
3 ^. I6 W# `1 Q" ], F
1 G8 a. s* b8 M3 {3 z Svendson, Tove # d" J+ y }( G
$ q2 N6 \. I1 J9 B* q- G- [
/ w) P# n: c; N03 3 s& J3 k" R: \0 Y0 b
4 D' d" i* C0 @1 k
Svendson, Stephen & Q5 ^% k" g( h+ X* l1 S% o
8 ?- d& h0 ]4 i2 y T" H 2 }* Q8 ~6 U' A2 `9 Y
04 : T* C U) q. ]' k' S. V2 `
* U8 W: ]6 y5 J& {
Pettersen, Kari 3 |% n4 J; Z5 c# \! c3 {& C: _% [
% I ^; F7 ~/ U0 R* [0 u5 A) t" F
3 e( ?1 c% x+ U+ m5 y
"Orders"表中的数据如下:
( ` q! M* F/ W2 W( @; m </P>< >ID , n* W. F9 p; {3 V+ p3 v0 D
& y0 Q4 R9 j' y2 S( M$ z0 y
Product
0 M, V9 t& @* H9 i; b# F/ W , n; I: C$ f% \
+ y: j3 a& |' z4 n& u+ [. h2 |4 H8 C
01 {1 K8 G. r9 @5 C4 y2 T3 d# k
* R# H8 f+ p ?' \& D
Printer - @! H& H3 l* v& q! U
7 {* J+ {' n9 J& P
2 |$ Z8 \4 v+ i# o- T03
8 B+ O7 r5 X6 w7 R/ H6 X 4 o1 l2 T$ t' j9 Q$ i& g# M9 X
Table
# b1 ]/ H, Y U : A) h; e4 ~9 T# Q6 z- {5 Q( e' V
, g: Y) o4 A* X6 p1 H# y3 p4 I
03 2 b, i: q( L, W& j8 h3 w, N' |
- z1 `' T& ?: `# q
Chair . u4 `. |( ~! m: r7 W1 E9 Q% k
" C1 u1 g- {$ [. k; n% N
</P>< >用Employees的ID和Orders的ID相关联选取数据:</P>< >SELECT Employees.Name, Orders.Product
& c& q3 F' Z. }) u V2 b. s9 n, }3 BFROM Employees, Orders . z( f/ _; R& R
WHERE Employees.ID = Orders.ID # R2 }0 H5 x! ~- m6 [4 S
; i4 H! a- z4 E: k" g m
返回结果:
- U9 v* e9 L$ z, ?- N( `5 B </P>< >Name 9 X$ B5 T0 ?$ J# b% ^0 Z* _
j3 Z9 w7 o9 v" T+ c
Product ) m, L5 W Z5 B* ~3 k9 z; q) S
, C0 Y4 {2 V$ P, B3 ? ) H7 `1 p% Z. Y
Hansen, Ola : ^1 c. E6 ]9 O+ K7 z9 M
5 @* M' z8 a) b7 M Printer
1 I, e7 z, M* \2 c( c0 {3 k , K% {4 Y* i1 R# m5 p. d5 @/ V: b: r
7 k+ Z$ [ |: e5 bSvendson, Stephen
( l' M' l) S. v5 H. M+ K" J 4 C* a9 Z/ D+ h8 W4 V* _
Table
; T7 J, V: [$ M; S+ R" t4 k 7 M7 W- `$ w6 T8 y1 Z/ ]; P' v
; C# x0 n+ j. C; L R' Q3 t
Svendson, Stephen & _( b: h1 d7 @' } D. b3 ]
9 q7 u# W, |! w4 _8 t9 ]# G5 d
Chair ( o1 X+ q0 ]9 O" n7 \( s. {
{: C0 |8 g# K3 z0 i </P>< >或者你也可以用JOIN关键字来完成上面的操作:</P>< >SELECT Employees.Name, Orders.Product 2 g/ I0 T& y; @$ Q# x
FROM Employees + r+ w) W' u9 t2 A$ `
INNER JOIN Orders 2 F; C a% r; I3 q
ON Employees.ID = Orders.ID
6 ?) g* L+ _* V1 ?* S! \</P> |
|