Usando la sintaxis SELECT tres en ADO
Autor:Eve Cole
Fecha de actualización:2009-05-30 19:54:33
Continuando con el artículo anterior:
ORDEN POR
Cláusula ORDER BY, puede configurar el campo de clasificación.
En una expresión SQL, la cláusula ORDER BY suele colocarse en último lugar.
Si desea ordenar en orden descendente (Z~A, 9~0), debe agregar la palabra DESC al final de cada campo que desee ordenar en orden descendente. Por ejemplo:
SELECCIONAR nombre
DE empleados
ORDENAR POR salarioDESC, edad
Indica que el campo [Salario] está ordenado en orden descendente y el campo [Edad] está ordenado en orden creciente.
Los campos ordenados en la cláusula ORDER BY no pueden contener tipos de campos MEMO ni tipos de objetos OLE; de lo contrario, se producirá un error.
Cuando se incluyen varios campos en la cláusula ORDER BY, el primer campo después de ORDER BY se utiliza para ordenar. Luego, si hay registros de datos idénticos en este campo, se utilizará el segundo campo para ordenar, y así sucesivamente.
Agrupar por
GROUP BY hará estadísticas sobre los resultados de la consulta. La sintaxis es la siguiente:
SELECCIONAR lista de campos
DE la mesa
DONDE criterios
[GRUPO POR lista de campos de grupo]
Usando la cláusula WHERE, puede establecer datos que no desea contar y usando la cláusula HAVING, puede filtrar campos que ya han sido contados.
No se pueden realizar estadísticas en campos del tipo de campo MEMO o del tipo de objeto OLE, de lo contrario se producirá un error.
Por ejemplo, el programa ASP rs22.asp es el siguiente: [SELECCIONAR categoría, promedio (precio) como promedio del grupo de productos por categoría] Utilice GROUP BY para crear estadísticas de [Categoría] sobre los resultados de la consulta y calcular las estadísticas de cada categoría. para promediar el precio Avg (Precio):
<%
Establecer conexión1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Controlador de Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;"
Establecer rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECCIONAR categoría, promedio (precio) como promedio del grupo de productos por categoría"
Respuesta.Escriba "<p>Promedio(precio)"
rs2.Open SqlStr,conn1,1,1
Hacer mientras no rs2.EOF
Respuesta.Escribir "<BR>" & rs2("tipo") & ": " & rs2("promedio")
rs2.MoverSiguiente
Bucle
rs2.Cerrar%>
Para el programa ASP rs22.asp anterior, el cliente utiliza un navegador para explorar los resultados de la ejecución y mostrar el precio promedio según las estadísticas de [categoría].
Veamos un ejemplo. Por ejemplo, el programa ASP rs22.asp es el siguiente: [SELECCIONAR categoría, suma (cantidad*precio) como total del grupo de productos por categoría] Utilice GROUP BY para realizar estadísticas de [Categoría] en la consulta. resultados y cuente cada categoría. El precio total Suma (cantidad * precio) multiplicada por cantidad y precio:
<%
Establecer conexión1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Controlador de Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;"
Establecer rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECCIONE Categoría, Suma (Cantidad*Precio) como total del grupo de productos por categoría"
rs2.Open SqlStr,conn1,1,1
Respuesta.Escribe "<p>Suma(cantidad*precio)"
Hacer mientras no rs2.EOF
Respuesta.Escribir "<BR>" & rs2("categoría") & ": " & rs2("total")
rs2.MoverSiguiente
Bucle
rs2.Cerrar%>
Para el programa ASP rs22.asp anterior, utilice el navegador del cliente para examinar los resultados de la ejecución y mostrar el precio total según [categoría].
Groupfieldlist es el nombre de los campos utilizados para las estadísticas, con un máximo de 10 campos.
El orden de los nombres de los campos en la lista de campos del grupo determinará el nivel estadístico, del nivel más alto al más bajo.
Finalmente, por ejemplo, el programa ASP rs22.asp es el siguiente: [SELECCIONAR nombre, materia, Promedio (puntuación) Como promedio Del examen Grupo Por nombre, materia] Utilice GRUPO POR para hacer que los resultados de la consulta se basen en [nombre] y [ sujeto] estadísticas, estadísticas de cada puntuación estadística [promedio] Promedio (puntuación):
<%
Establecer conexión1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Controlador de Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;"
Establecer rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECCIONE Nombre, Materia, Promedio (puntuación) como promedio del grupo de examen por nombre, Materia"
rs2.Open SqlStr,conn1,1,1
Response.Write "<p>Agrupar por nombre, asunto"
Hacer mientras no rs2.EOF
Respuesta.Escribir "<BR>" & rs2("Nombre") & " " & rs2("Asunto") & " Promedio: " & rs2("Promedio")
rs2.MoverSiguiente
Bucle
rs2.Cerrar
%>
El programa ASP rs22.asp anterior utiliza un navegador en el lado del cliente para examinar los resultados de la ejecución y mostrar la puntuación [promedio] basada en [nombre] y [asunto].
¿Lo has aprendido?