tailieunhanh - Learning SQL Second Edition phần 6

Truy vấn này có hai điều kiện lọc: một trong mệnh đề đó, lọc ra các tài khoản không hoạt động, và trong mệnh đề có bộ lọc ra bất kỳ sản phẩm có có tổng số sự cân bằng là ít hơn $ . Vì vậy, một trong các bộ lọc hoạt động không phải là cán tất cả các con đường trở lại để bắt đầu giao dịch. | Group Filter Conditions In Chapter 4 I introduced you to various types of filter conditions and showed how you c use them in the where elause when grouping data you also can apply filter conditions tothedataafteo thogroupstave been generated. The having clause is where you should plaeethese types offilter thefollowing example mysql StfttPpforucC-id eeMCaeail_baStnef psod_Ceeance - FRMaccount - itHifE stalls ernse - ORfUPtYprotueteCd - HAVING SUM avail_balanaeC e 10000a ------- - ----- I produced I prodbolarue I I I CHK I I MM i i I SBL I I t -7 II Ã ÃÃ 5IZh 4 rows in set This query has two filter conditions on 5 in the where clause which filters out inactive accounts and theotherin the having clause which filters out any product whose total available balanceii iessthan Oso 000. Thus one of the filters acts on data before it is grouped ond theolhcefiltet ante onngtatlrerlhe e scupshave bern created. i mistakenlpputbnrh fihereinlhe s ere olauss yoeiruU tea thefollowinpeitdr mysql SELObT era up ees SOJeravatejialanceOprod-falsnie - FROM aefount - ISPEftsfatu Acntvt - Alb mniOnraee-taeMce1 s inooe - GRouytnriO Nk dt_ _ e v ERROR 1111 HYOOO Invaliduse of group function This query aiIs 17 10isepucar t a a .c. te function in a query s where clause. This is b c cvusethefilters inthewhere clause are evaluated before the grouping occurs so the serveroon tysspe rfoum any_tinctions onoroups. Wheo addinTUeẹfSU0ClOueru rhai iedul__ eneea carefully about whether the filter acts on raw data in which case it ios i rl e dep e1 ore I Ieiins m lie-itcii itiitnifeloiigs in the having clause. You may however includn aggieealubuncfionsinlhetederg clbuae thae dbwos Tppenr in the select clause as nemonstratadby the following mysql SELECT product_cd SUM avail_balance prod_balance - FROM accornt - WnfREbtaSent AC 1 - essee t_ _rodecb_cd - HAVINGMIN 1avail_bars5naeC el000 Group Filter Conditions I 155 .