Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 15284|Risposta: 3

[Consigli] Consigli per la query gruppo per gruppo

[Copiato link]
Pubblicato su 04/08/2017 13:04:14 | | | |
1.Raggruppare per viene usato da solo, e i risultati della query mostrano un solo record in un gruppo.
     SELEZIONA * DA 'dipendente'; Risultati dello show

seleziona * dal gruppo di dipendenti per sesso; Risultati dello show

Verranno visualizzati solo due record, questo valore è ovviamente errato, non viene utilizzata alcuna funzione di raccolta e il valore visualizzato è solo il primo dato per ogni gruppo.
Se vuoi raggruppare e visualizzare dati, considera di usarlogroup_concat() funzione,




2.Utilizzato con la funzione group_concat(),Vengono visualizzati i valori specificati dei campi in ogni gruppo
Dai
selezionare sesso, group_concat(nome) dal gruppo di dipendenti in base al sesso;

Poi usa le funzioni di esplosione ed implode per estrarre i dati.
3.Usate con funzioni di insiemi,Le funzioni di set includono count(), sum(), avg(), max() e min().
seleziona *,contare (sesso) come totale dal gruppo di dipendenti per sesso;


4 Usati con avere
"Avere espressioni condizionate", che può limitare il risultato di output. Viene visualizzato solo il risultato dell'espressione condizionale.
Istanza:
[color=bianco !importante]
?

selezionare sesso, conte (sesso) da Gruppo di dipendenti di Sesso conteggio (sesso) >= 3;


Risultato:
[color=bianco !importante]
?

1

2

sesso | conteggio (sesso
Maschio | 3





avere espressione condizionata" nei dischi raggruppati.
5.Raggruppare per campi multipli
seleziona * da dipendente del gruppo per sesso, punteggio;
I risultati delle query sono raggruppati prima per sesso e poi per punteggio
6 conUso con rollup
Usare con il rollup aggiungerà un record alla fine di tutti i record, che è la somma di tutti i record sopra
1

seleziona sesso, conteggio (sesso) dal gruppo di dipendenti per sesso con rollup;




Risultato:
[color=bianco !importante]
?

1

2

3

4

sesso | Conteggio (sesso)
Femmina | 1
Maschio | 5
null | 6




Se è una stringa, ad esempio, il nome genererà un risultato del tipo "Zhang San, Li Si, Wang Wu", cioè la somma dei nomi.

Punteggio

Numero di partecipanti1MB+10 contribuire+5 Collasso ragione
Piccola feccia + 10 + 5 Premi per i programmi banana, la tipografia sono un po' problematiche

Vedi tutte le valutazioni





Precedente:Boicottaggio della costruzione di autostrade su Renxing Road a Jining
Prossimo:Diversi metodi comuni per ottimizzare query di istruzioni SQL in MySQL
 Padrone di casa| Pubblicato su 04/08/2017 13:10:17 |
Somiglianze e differenze tra avere e dove

                    Avere è simile a dove puoi filtrare i dati, come scrivere l'espressione dopo dove, e come scriverla dopo aver avuto
                    dove interroga i dati per colonne nella tabella
                    Avere lavori sulle colonne nei risultati delle query, filtrando i dati
                    #查询本店商品价格比市场价低多少钱, prodotti beni con un prezzo inferiore superiore a 200 yuan
                    selezionare goods_id,good_name,market_price - shop_price come s da merci con s>200 ;
                    Non puoi usare dove perché s è il risultato della query, e where può filtrare solo i nomi dei campi nella tabella
                    Se usi dove, è:
                    selezionare goods_id.goods_name merci dove market_price - shop_price > 200;

                    #同时使用where与having
                    selezionare cat_id,goods_name,market_price - shop_price come s da beni dove cat_id = 3 con s > 200;
                    #查询积压货款超过2万元的栏目, così come l'arretrato dei pagamenti in questa rubrica
                    Seleziona cat_id,somma(shop_price * goods_number) come t dal gruppo merci per cat_id che ha s > 20000
                    #查询两门及两门以上科目不及格的学生的平均分
                          Idea:
                            #先计算所有学生的平均分
                             Seleziona nome, media (punteggio) come PJ dal gruppo STU per nome;
                            #查出所有学生的挂科情况
                            Seleziona nome, punteggio<60 da Stu;
                                    #这里score<60 è una sentenza di giudizio, quindi il risultato è vero o falso, e il vero è 1 in mysql e 0 è falso
                            #查出两门及两门以上不及格的学生
                            Seleziona nome, somma (punteggio<60) come GK dal gruppo STU per nome con GK > 1;
                            #综合结果
                            Seleziona nome, somma(punteggio<60) come GK, media (punteggio) come PJ dal gruppo STU per nome con GK >1;
Pubblicato su 04/08/2017 17:47:19 |


Questo può essere inserito nel codice
Pubblicato su 07/08/2017 13:47:02 |
Gruppo di proprietari per post-check* Nessun errore?
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com