Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 15284|Respuesta: 3

[Consejos] Consejos para consultas grupo por grupo

[Copiar enlace]
Publicado en 4/8/2017 13:04:14 | | | |
1.Se usa solo el grupo por grupo, y los resultados de la consulta muestran solo un registro en un grupo.
     SELECCIONAR * DE 'empleado'; Resultados del programa

seleccionar * del grupo de empleados por sexo; Resultados del programa

Solo se mostrarán dos registros, este valor es obviamente incorrecto, no se utiliza ninguna función de recopilación y el valor mostrado es solo el primer dato de cada grupo.
Si quieres agrupar y mostrar datos, considera usarlogroup_concat() función,




2.Usado con la función group_concat(),Se muestran los valores de campo especificados en cada agrupación
Vamos
seleccionar sexo group_concat(nombre) del grupo de empleados por sexo;

Luego usa las funciones de explosión e implosión para extraer los datos.
3.Usado con funciones de conjuntos,Las funciones de conjunto incluyen count(), sum(), avg(), max() y min().
seleccionar *,contar (sexo) como total del grupo de empleados por sexo;


4 Usado con tener
"Tener expresiones condicionales", lo que puede limitar el resultado de salida. Solo se muestra el resultado de la expresión condicional.
Instancia:
[color=blanco !importante]
?

escoger sexo, cuenta (sexo) de Grupo de empleados por Teniendo sexo conteo (sexo) >= 3;


Resultado:
[color=blanco !importante]
?

1

2

sexo | conde(sexo
Masculino | 3





Tener Expresión Condicional" actúa en los discos agrupados.
5.Agrupa por múltiples campos
seleccionar * de empleado del grupo por sexo, puntuación;
Los resultados de la consulta se agrupan primero por sexo y luego por puntuación
6 conUso con enrollamiento
Usar con rollup añadirá un registro al final de todos los registros, que es la suma de todos los registros anteriores
1

Selecciona el sexo, el recuento (sexo) del grupo de empleados por sexo con el rollup;




Resultado:
[color=blanco !importante]
?

1

2

3

4

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




Si es una cadena, por ejemplo, el nombre generará un resultado del tipo "Zhang San, Li Si, Wang Wu", es decir, la suma de nombres.

Puntuación

Número de participantes1MB+10 contribuir+5 Colapso razón
Pequeña basura + 10 + 5 Las recompensas del programa de plátanos y la tipografía son un poco problemáticas

Ver todas las valoraciones





Anterior:Boicot a la construcción de autopistas en Renxing Road en Jining
Próximo:Varios métodos comunes para optimizar consultas de sentencias SQL en MySQL
 Propietario| Publicado en 4/8/2017 13:10:17 |
Similitudes y diferencias entre tener y dónde

                    Tener es similar a dónde puedes filtrar los datos, cómo escribir la expresión después de dónde y cómo escribirla después de haber
                    donde consulta los datos de las columnas de la tabla
                    Trabajar en columnas en los resultados de consultas, filtrar datos
                    #查询本店商品价格比市场价低多少钱, productos de producción con un precio inferior de más de 200 yuanes
                    seleccionar goods_id,good_name,market_price - shop_price como s de bienes con s>200;
                    No puedes usar where porque s es el resultado de la consulta, y where solo puede filtrar por nombres de campos en la tabla
                    Si usas dónde, es:
                    seleccionar goods_id.goods_name de bienes donde market_price - shop_price > 200;

                    #同时使用where与having
                    seleccionar cat_id,goods_name,market_price - shop_price como s de bienes donde cat_id = 3 con s > 200;
                    #查询积压货款超过2万元的栏目, así como el retraso en los pagos de esta columna
                    Selecciona cat_id,sum(shop_price * goods_number) como t del grupo de bienes por cat_id teniendo s > 20000
                    #查询两门及两门以上科目不及格的学生的平均分
                          Idea:
                            #先计算所有学生的平均分
                             Selecciona el nombre, promedio (puntuación) como PJ del grupo de STU por nombre;
                            #查出所有学生的挂科情况
                            Selecciona nombre, puntuación<60 de Stu;
                                    #这里score<60 es una afirmación de juicio, por lo que el resultado es verdadero o falso, y el verdadero es 1 en mysql y 0 es falso
                            #查出两门及两门以上不及格的学生
                            Selecciona nombre, suma, puntuación<60) como GK del grupo STU por nombre con GK > 1;
                            #综合结果
                            Selecciona el nombre, suma(puntuación<60) como GK, promedio (puntuación) como PJ del grupo STU por nombre con GK >1;
Publicado en 4/8/2017 17:47:19 |


Esto puede insertarse en el código
Publicado en 7/8/2017 13:47:02 |
Grupo de propietarios por post-check* ¿Sin error?
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com