Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 15284|Răspunde: 3

[Bacșișuri] Sfaturi pentru interogarea grupurilor pe grupuri

[Copiază linkul]
Postat pe 04.08.2017 13:04:14 | | | |
1.Se folosește doar grupul după grup, iar rezultatele interogării arată o singură înregistrare într-un grup.
     SELECTEAZĂ * DIN 'employee'; Rezultatele emisiunii

selectați * din grupul angajaților după sex; Rezultatele emisiunii

Vor fi afișate doar două înregistrări, această valoare este evident incorectă, nu se folosește nicio funcție de colectare, iar valoarea afișată este doar prima dată pentru fiecare grup.
Dacă vrei să grupezi și să afișezi datele, ia în considerare să le foloseștigroup_concat() funcție,




2.Folosită împreună cu funcția group_concat(),Valorile câmpurilor specificate în fiecare grupare sunt afișate
Hai
selectează sexul,group_concat(nume) din grupul de angajați după sex;

Apoi folosește funcțiile de explozie și implodare pentru a extrage datele.
3.Folosite cu funcții de mulțime,Funcțiile de set includ count(), sum(), avg(), max() și min().
selectați *,numărați (sexul) ca total din grupul angajaților după sex;


4 Folosit cu a avea
"Având expresii condiționate", care pot limita rezultatul de ieșire. Este afișat doar rezultatul expresiei condiționate.
Exemplu:
[culoare=alb !important]
?

alege sex, cont (sex) de la Grupul angajaților de Sex întreținând numărătoare (sex) >= 3;


Rezultat:
[culoare=alb !important]
?

1

2

Sex | Numărătoarea (sex
Masculin | 3





având expresie condiționată" pe discurile grupate.
5.Grupați după mai multe câmpuri
selectează * dintr-un angajat din grup după sex, scor;
Rezultatele interogărilor sunt grupate mai întâi după sex, apoi după scor
6 cuUtilizare cu rollup
Folosirea cu rollup va adăuga o înregistrare la finalul tuturor înregistrărilor, adică suma tuturor înregistrărilor de mai sus
1

selectează sexul, numărul (sexul) din grupul de angajați după sex, prin rollup;




Rezultat:
[culoare=alb !important]
?

1

2

3

4

Sex | Cont (sex)
Feminin | 1
Masculin | 5
null | 6




Dacă este un șir, de exemplu, numele va genera un rezultat de tip "Zhang San, Li Si, Wang Wu", adică suma numelor.

Scor

Numărul participanților1MB+10 Contribui+5 Colaps rațiune
Mică mizerie + 10 + 5 Recompensele pentru programul bananelor, tipografia sunt puțin problematice

Vezi toate ratingurile





Precedent:Boicotarea construcției de autostrăzi pe drumul Renxing din Jining
Următor:Câteva metode comune pentru optimizarea interogărilor de instrucțiuni SQL în MySQL
 Proprietarul| Postat pe 04.08.2017 13:10:17 |
Asemănări și diferențe între a avea și unde

                    A avea este similar cu unde poți filtra datele, cum să scrii expresia după unde și cum să o scrii după ce ai
                    unde interoghează datele pentru coloanele din tabel
                    A lucra pe coloane în rezultatele interogărilor, filtrarea datelor
                    #查询本店商品价格比市场价低多少钱, produc bunuri cu un preț mai mic de peste 200 de yuani
                    selectați goods_id,good_name,market_price - shop_price ca s de la bunuri cu s>200;
                    Nu poți folosi where pentru că s este rezultatul interogării, iar where poate filtra doar numele câmpurilor din tabel
                    Dacă folosești unde, este:
                    selectează goods_id.goods_name din mărfuri unde market_price - shop_price > 200;

                    #同时使用where与having
                    selectați cat_id,goods_name,market_price - shop_price ca s de la bunuri unde cat_id = 3 având s > 200;
                    #查询积压货款超过2万元的栏目, precum și restanțele de plăți din această rubrică
                    selectați cat_id,sum(shop_price * goods_number) ca t din grupul de bunuri prin cat_id având s > 20000
                    #查询两门及两门以上科目不及格的学生的平均分
                          Idee:
                            #先计算所有学生的平均分
                             Selectează numele, media (scorul) ca PJ din grupul STU după nume;
                            #查出所有学生的挂科情况
                            Selectează numele, scorul<60 de la Stu;
                                    #这里score<60 este o afirmație de judecată, deci rezultatul este adevărat sau fals, iar adevăratul este 1 în mysql și 0 este fals
                            #查出两门及两门以上不及格的学生
                            Selectează numele, suma (scorul<60) ca Gk din grupul STU după numele cu GK > 1;
                            #综合结果
                            Selectează numele, suma (scorul<60) ca GPK, medie (scor) ca PJ din grupul STU după nume cu GK >1;
Postat pe 04.08.2017 17:47:19 |


Acest lucru poate fi inserat în cod
Postat pe 07.08.2017 13:47:02 |
Grup de proprietari după verificarea post-verificare* Nicio eroare?
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com