Temas > Programacion > Php > Clausula Group By de SQL en php
Julio

Cláusula Group By de SQL
Entre las muchas posibilidades que nos brinda SQL, 
una es agrupar registros y obtener información resumida 
de tablas.
En nuestro problema, un listado interesante sería mostrar la
cantidad de alumnos inscritos por curso. Para resolver de una 
manera sencilla esta situación, SQL nos permite agrupar los 
registros de la tabla "alumnos" por la columna "codigocurso" y
contar la cantidad de registros que hay por cada código de curso igual.
El programa que nos permite resolver este problema es el siguiente:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$conexion=mysql_connect("localhost","root","z80") or
  die("Problemas en la conexion");
mysql_select_db("phpfacil",$conexion) or
  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select count(alu.codigo) as cantidad,
                 nombrecur from alumnos as alu
                inner join cursos as cur on cur.codigo=alu.codigocurso
                group by alu.codigocurso", $conexion) or
  die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
  echo "Nombre del curso:".$reg[`nombrecur`]."<br>";
  echo "Cantidad de inscritos:".$reg[`cantidad`]."<br>";
  echo "<hr>";
}
mysql_close($conexion);
?>
</body>
</html>
Hay varias partes importantes en este código; primero, en el 
select indicamos que cuente la cantidad de registros de la tabla 
"alumnos":
       "select count(alu.codigo) as cantidad,
                        nombrecur from alumnos as alu
Pero, como veremos más adelante, en `cantidad` no se almacena 
la cantidad total de registros de la tabla "alumnos" debido a que 
más adelante empleamos la cláusula group by. Como necesitamos 
rescatar el nombre del curso hacemos el apareo con la tabla "cursos":
       inner join cursos as cur on cur.codigo=alu.codigocurso
Por último en la sentencia select de SQL disponemos la cláusula 
group by:
       group by alu.codigocurso"
Con esta cláusula se hace un corte de control por cada grupo de 
registros que tienen el mismo código de curso almacenado.
Luego mostramos el nombre de curso con la cantidad de inscriptos 
para dicho curso:
<?php
while ($reg=mysql_fetch_array($registros))
{
  echo "Nombre del curso:".$reg[`nombrecur`]."<br>";
  echo "Cantidad de inscriptos:".$reg[`cantidad`]."<br>";
  echo "<hr>";
}
?>













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
       
1234567
8910111213 14
15161718192021
22232425262728
2930     

Domingo 14 de Septiembre 2025
Semana 37

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal