Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 15284|Resposta: 3

[Gorjetas] Dicas para consulta de grupo por grupo

[Copiar link]
Publicado em 04/08/2017 13:04:14 | | | |
1.Agrupar por é usado isoladamente, e os resultados da consulta mostram apenas um registro em um grupo.
     SELECIONAR * DE 'empregado'; Resultados do programa

selecione * do grupo de funcionários por sexo; Resultados do programa

Apenas dois registros serão exibidos, esse valor está obviamente incorreto, nenhuma função de coleta é usada e o valor exibido é apenas o primeiro dado de cada grupo.
Se quiser agrupar e exibir dados, considere usá-logroup_concat() função,




2.Usado com a função group_concat(),Os valores de campo especificados em cada agrupamento são exibidos
Sem essa
selecione o sexo, group_concat(nome) do grupo de funcionários por sexo;

Depois, use as funções de explosão e implosão para extrair os dados.
3.Usado com funções de conjunto,As funções do conjunto incluem count(), sum(), mg(), max() e min().
selecione *,conte (sexo) como total do grupo de funcionários por sexo;


4 Usado com ter
"Ter expressões condicionais", o que pode limitar o resultado de saída. Apenas o resultado da expressão condicional é exibido.
Exemplo:
[cor=branco !importante]
?

selecionar sexo, contagem (sexo) de Grupo de Funcionários por sexo tendo contagem (sexo) >= 3;


Resultado:
[cor=branco !importante]
?

1

2

sexo | conde (sexo
Masculino | 3





tendo expressão condicional" nos registros agrupados.
5.Agrupe por múltiplos campos
selecione * do funcionário do grupo por sexo, pontuação;
Os resultados da consulta são agrupados primeiro por sexo e depois por pontuação
6 comUso com o rollup
Usar com rollup adiciona um registro ao final de todos os registros, que é a soma de todos os registros acima
1

selecione sexo, contagem (sexo) do grupo de funcionários por sexo com rollup;




Resultado:
[cor=branco !importante]
?

1

2

3

4

sexo | Conde (sexo)
Feminino | 1
Masculino | 5
null | 6




Se for uma sequência, por exemplo, o nome gerará um resultado do tipo "Zhang San, Li Si, Wang Wu", ou seja, a soma dos nomes.

Pontuação

Número de participantes1MB+10 contribuir+5 Colapso razão
Pequeno + 10 + 5 Recompensas do programa banana, tipografia é um pouco problemática

Veja todas as classificações





Anterior:Boicote à construção de rodovias expressas na Rua Renxing em Jining
Próximo:Vários métodos comuns para otimizar consultas de instruções SQL no MySQL
 Senhorio| Publicado em 04/08/2017 13:10:17 |
Semelhanças e diferenças entre ter e onde

                    Ter é semelhante a onde você pode filtrar os dados, como escrever a expressão depois de onde e como escrevê-la depois de ter
                    onde consulta os dados das colunas na tabela
                    Ter trabalhos em colunas em resultados de consulta, filtragem de dados
                    #查询本店商品价格比市场价低多少钱, produtos de produção com um preço menor de mais de 200 yuans
                    selecione goods_id,good_name,market_price - shop_price como s de mercadorias com s>200;
                    Você não pode usar where porque s é o resultado da consulta, e where só pode filtrar nomes de campos na tabela
                    Se você usar onde, é:
                    selecionar goods_id.goods_name de mercadorias onde market_price - shop_price > 200;

                    #同时使用where与having
                    selecione cat_id,goods_name,market_price - shop_price como s a partir de bens onde cat_id = 3 tendo s > 200;
                    #查询积压货款超过2万元的栏目, assim como o acúmulo de pagamentos nesta coluna
                    selecione cat_id,sum(shop_price * goods_number) como t do grupo de bens por cat_id tendo s > 20000
                    #查询两门及两门以上科目不及格的学生的平均分
                          Ideia:
                            #先计算所有学生的平均分
                             Selecione nome, média (pontuação) como PJ do grupo STU por nome;
                            #查出所有学生的挂科情况
                            Selecione nome, pontuação<60 da STU;
                                    #这里score<60 é uma declaração de julgamento, então o resultado é verdadeiro ou falso, e o verdadeiro é 1 no mysql e 0 é falso
                            #查出两门及两门以上不及格的学生
                            Selecione nome, soma (pontuação<60) como GK do grupo STU pelo nome tendo GK > 1;
                            #综合结果
                            Selecione nome, soma (pontuação<60) como GK, média (pontuação) como PJ do grupo STU pelo nome com GK >1;
Publicado em 04/08/2017 17:47:19 |


Isso pode ser inserido no código
Publicado em 07/08/2017 13:47:02 |
Grupo de proprietários por verificação pós-verificação* Sem erro?
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com