Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 15284|Odpowiedź: 3

[Napiwki] Wskazówki dotyczące zapytań grupowych po grupach

[Skopiuj link]
Opublikowano 04.08.2017 13:04:14 | | | |
1.Grupowanie według jest używane wyłącznie dla siebie, a wyniki zapytań pokazują tylko jeden rekord w grupie.
     WYBIERZ * Z 'pracownik'; Wyniki programu

Wybierz * z grupy pracowników według płci; Wyniki programu

Wyświetlane będą tylko dwa rekordy, ta wartość jest oczywiście nieprawidłowa, nie używa się funkcji kolekcji, a wyświetlana wartość to tylko pierwsze dane dla każdej grupy.
Jeśli chcesz grupować i wyświetlać dane, rozważ ich wykorzystaniegroup_concat() funkcja,




2.Używana z funkcją group_concat(),Wyświetlane są określone wartości pól w każdej grupie
Daj spokój
Wybierz płeć,group_concat(imię) z grupy pracowników według płci;

Następnie użyj funkcji wybuch i implozja, aby wydobyć dane.
3.Używane z funkcjami zbiorowymi,Funkcje zbiorowe obejmują count(), sum(), avg(), max() oraz min().
wybierz *,count(płeć) jako sumę z grupy pracowników według płci;


4 Używane z posiadaniem
"Posiadanie wyrażeń warunkowych", które mogą ograniczać wynik wyjściowy. Wyświetlany jest tylko wynik wyrażenia warunkowego.
Instancja:
[color=white !important]
?

wybrać seks, liczenie (seks) od Grupa pracownicza autor: Seks uprawiający liczenie (płeć) >= 3;


Wynik:
[color=white !important]
?

1

2

seks | Hrabia (płeć
Męski | 3





posiadanie ekspresji warunkowej" działa na zgrupowanych rekordach.
5.Grupowanie według wielu pól
Wybierz * z grupy pracownika według płci, wyniku;
Wyniki zapytań są najpierw grupowane według płci, a następnie według wyniku
6 zZastosowanie z rollupem
Użycie z rollup doda rekord na koniec wszystkich rekordów, który jest sumą wszystkich powyższych rekordów
1

Wybierz płeć, liczenie(płeć) z grupy pracowników według płci przy rollup;




Wynik:
[color=white !important]
?

1

2

3

4

seks | Hrabia (płeć)
Kobieta | 1
Męski | 5
null | 6




Jeśli jest to na przykład ciąg znaków, nazwa wygeneruje wynik typu "Zhang San, Li Si, Wang Wu", czyli sumę nazw.

Wynik

Liczba uczestników1MB+10 przyczynić się+5 Zapaść powód
Mały śmiecie + 10 + 5 Nagrody w programie bananowym, typografia jest trochę problematyczna

Zobacz wszystkie oceny





Poprzedni:Bojkot budowy autostrad na drodze Renxing w Jining
Następny:Kilka popularnych metod optymalizacji zapytań SQL w MySQL
 Ziemianin| Opublikowano 04.08.2017 13:10:17 |
Podobieństwa i różnice między posiadaniem a gdzie

                    Posiadanie jest podobne do "gdzie" – możesz filtrować dane, jak zapisać wyrażenie po gdzie, a jak je zapisać po
                    gdzie zapytuje dane dla kolumn w tabeli
                    Praca nad kolumnami w wynikach zapytań, filtrowanie danych
                    #查询本店商品价格比市场价低多少钱 dobra o niższej cenie powyżej 200 juanów
                    Wybierz goods_id,good_name,market_price - shop_price jako s z dóbr o s>200 ;
                    Nie możesz użyć where, ponieważ s jest wynikiem zapytania, a where może filtrować tylko nazwy pól w tabeli
                    Jeśli używasz gdzie, to jest to:
                    wybierz goods_id goods_name z towarów, gdzie market_price - shop_price > 200;

                    #同时使用where与having
                    wybierz cat_id,goods_name,market_price - shop_price jako s z dóbr, gdzie cat_id = 3 ma s > 200;
                    #查询积压货款超过2万元的栏目, a także zaległości w płatnościach w tej kolumnie
                    Wybierz cat_id,sum(shop_price * goods_number) jako t z grupy towarów przez cat_id mające s > 20000
                    #查询两门及两门以上科目不及格的学生的平均分
                          Pomysł:
                            #先计算所有学生的平均分
                             Wybierz imię,AVG(wynik) jako PJ z grupy STU według imienia;
                            #查出所有学生的挂科情况
                            Wybierz nazwisko, wynik<60 ze STU;
                                    #这里score<60 to stwierdzenie sądowe, więc wynik jest prawda lub fałsz, a prawda to 1 w mysql, a 0 to fałsz
                            #查出两门及两门以上不及格的学生
                            Wybierz imię,sum(score<60) jako GK z grupy STU według imienia z GK > 1;
                            #综合结果
                            Wybierz imię,sum(score<60) jako GK, AVG(score) jako PJ z grupy STU według imienia z GK >1;
Opublikowano 04.08.2017 17:47:19 |


Można to wstawić do kodu
Opublikowano 07.08.2017 13:47:02 |
Grupa właścicieli według weryfikacji po powtórce* Brak błędów?
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com