Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Contar registros

Estas en el tema de Contar registros en el foro de SQL Server en Foros del Web. Haber os cuento, tengo una tabla y me gustaria saber cuantas veces en uno de los campos introducen un nombre. Para luego sacar una clasificacion ...

  #1 (permalink)  
Antiguo 20/04/2009, 13:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Contar registros

Haber os cuento, tengo una tabla y me gustaria saber cuantas veces en uno de los campos introducen un nombre. Para luego sacar una clasificacion con la cantidad de veces que han salido estos nombres.
  #2 (permalink)  
Antiguo 20/04/2009, 14:02
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

Cuantas veces hacen update a un campo de un mismo registro??
No esta claro lo que necesitas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 20/04/2009, 14:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Simplemente que se vayan poniendo en una lista los nombres y cuantas mas veces este un nombre mejor clasificado estaria, o al menos saber cuantas veces esta cada nombre.
  #4 (permalink)  
Antiguo 20/04/2009, 14:31
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

Por que mejor no pones un ejemplo con datos reales?
Yo sigo sin entender.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 20/04/2009, 14:47
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Ejemplo

Pregunta del formulario ¿Quienes han asistido al entrenamiento del día 2?
Respuesta: Pablo, Paco y Luis.
Pregunta del formulario ¿Quienes han asistido al entrenamiento del día 5?
Respuesta: Paco y Luis.
Pregunta del formulario ¿Quienes han asistido al entrenamiento del día 9?
Respuesta: Luis.

Resultado de Asistencias
1.- Luis (3)
2.- Paco (2)
3.- Pablo (1)
  #6 (permalink)  
Antiguo 20/04/2009, 14:56
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Contar registros

Aplica Group By para estos casos no se q campos tenga tu tabla pero simulare q tenga el campo nombre y la fecha q mas interesa

SELECT NOMBRE,COUNT(FECHA) FROM ALUMNOS WHERE FECHA = GETDATE() GROUP BY NOMBRE

esta consulta te devolvera todos los nombres con la cantidad q exista por la fecha q tu lo envies como parametro el where es referencial tu lo puedes cambiar
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 20/04/2009, 16:49
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

Ya lo dice el dicho: "un ejemplo es mejor que mil palabras"
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 21/04/2009, 06:07
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

He intentado hacerlo con lo que tu me has aportado pero no habido forma.
Mira te pongo algo de mi tabla..

Cita:
INSERT INTO `clientes` (`Id`, `fecha`, `torneo`, `partido`, `resultado`, `goleadores`, `goleadores2`, `espacio`) VALUES
(1, '2008-08-30', 'Jornada 1', 'Equipo A-Equipo B', '2 - 1', 'Paco', 'Romeo, Rubén', NULL),
(2, '2008-09-06', 'Jornada 2', 'Equipo B - Equipo C', '2 - 2', 'Paco, Julian', 'Marcos, Cerio', NULL),
(3, '2008-09-14', 'Jornada 3', 'Equipo D - Equipo B', '2 - 2', 'Paco, Paco', 'Saúl, Marcos', NULL),
Lo que quiero es ahora sacar que Paco ha marcado 3 goles y Julián 1 en una clasificación. Y sólo me interesa los datos del Equipo B es decir la fila de goleadores y no goleadores 2 que son el resto.

Gracias.
  #9 (permalink)  
Antiguo 21/04/2009, 07:45
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Contar registros

Porq No Divides Tu Tabla en un Detalle para q te sea mas factible la Busqueda y el Conteo porq asi como esta estructurado es un poco mas complejo realizar la consulta q tu quieres
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #10 (permalink)  
Antiguo 21/04/2009, 08:10
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

La consulta sería solamente en la fila de goleadores.
  #11 (permalink)  
Antiguo 21/04/2009, 11:08
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

A ver si esto te ayuda:
Código sql:
Ver original
  1. SELECT SUM(CASE WHEN goleadores LIKE '%Paco%' THEN 1 ELSE 0 END),
  2. SUM(CASE WHEN goleadores LIKE '%Julian%' THEN 1 ELSE 0 END)
  3. FROM clientes
  4. WHERE partido LIKE '%Equipo B%'
  5. AND (goleadores LIKE '%Paco%' OR goleadores LIKE '%Julian%')
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #12 (permalink)  
Antiguo 21/04/2009, 15:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

He intentado colocar el codigo de varias formas pero como no controlo no he debido saber.
  #13 (permalink)  
Antiguo 21/04/2009, 15:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

No puedes hacer lo que te sugiere Dradi7?
Sino muestranos lo que tienes, la estructura de tu tabla y algunos registros de muestra.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #14 (permalink)  
Antiguo 21/04/2009, 15:47
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Código PHP:
<? 
//Conexion con la base
$Con=mysql_connect("localhost","xxxxxxxx","xxxxxx"); 
//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("xxxxxx_ejemplo"$Con);//Conexion con la base
//Ejecutamos la sentencia SQL
$sql"SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END)
FROM clientes
WHERE partido LIKE '%R.Zaragoza%'
AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López');

//Mostramos los registros
echo '<td>'.$sql.'</td>';
?>
  #15 (permalink)  
Antiguo 21/04/2009, 16:05
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

No sera que te faltan las comillas despues del punto y coma?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #16 (permalink)  
Antiguo 21/04/2009, 16:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

He puesto las " pero me sale la orden....
SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END) FROM clientes WHERE partido LIKE '%R.Zaragoza%' AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López')
  #17 (permalink)  
Antiguo 21/04/2009, 16:23
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

Qué error te da?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #18 (permalink)  
Antiguo 21/04/2009, 16:25
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Me sale el texto este....
Cita:
SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END) FROM clientes WHERE partido LIKE '%R.Zaragoza%' AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López')
  #19 (permalink)  
Antiguo 21/04/2009, 16:33
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Contar registros

Por lo q veo no has ejecutado tu sentencia sql es por eso q te sale ese mensaje y no muestra nada al querer mostrar tus resultados

Código PHP:
$sql"SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END)
FROM clientes
WHERE partido LIKE '%R.Zaragoza%'
AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López') "
;
$Result mysql_query($sql,$Con);
// Luego Muestra tus Resultados
while($Row mysql_fetch_assoc($Result))
{
       
// Muestra Tu Resultado

__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #20 (permalink)  
Antiguo 21/04/2009, 16:36
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

Te falta:
Código:
$sql_result = mysql_query($sql) or die("Couldn't execute bookings query. ");
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #21 (permalink)  
Antiguo 21/04/2009, 16:50
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

He colocado esto y sale lo mismo...
Código PHP:
<? 
//Conexion con la base
$Con=mysql_connect("localhost","xxxxx_xxxxxx","xxxxxx"); 
//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("riberad_ejemplo"$Con);//Conexion con la base
//Ejecutamos la sentencia SQL
$sql"SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END)
FROM clientes
WHERE partido LIKE '%R.Zaragoza%'
AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López')"
;
$sql_result mysql_query($sql) or die("Couldn't execute bookings query. ");
//Mostramos los registros
echo '<td>'.$sql.'</td>';
?>
  #22 (permalink)  
Antiguo 21/04/2009, 17:08
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Contar registros

Primero en la Linea q Dice
$sql_result = mysql_query($sql) or die("Couldn't execute bookings query. ");

le falta el $Con

para q quede asi

$sql_result = mysql_query($sql,$Con) or die("Couldn't execute bookings query. ");

luego no puedes mostrar el resultado directamente porq te devolveria un Array para eso debes usar el mysql_fetch_assoc para recorrer cada fila con su respectiva columna
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #23 (permalink)  
Antiguo 21/04/2009, 17:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

He colocado esto y me sale...esto otro...
Código PHP:
<? 
//Conexion con la base
$Con=mysql_connect("localhost","xxxxxxxxxx","xxxxxxx"); 
//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("riberad_ejemplo"$Con);//Conexion con la base
//Ejecutamos la sentencia SQL
$sql"SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END)
FROM clientes
WHERE partido LIKE '%R.Zaragoza%'
AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López')"
;
$sql_result mysql_query($sql$Con) or die("Couldn't execute bookings query. ");
//Mostramos los registros
$row=mysql_fetch_assoc($sql_result)
echo 
'<td class="Estilo81">'.$row["fecha"].'</td>';
mysql_free_result($sql_result)
?>
Parse error: syntax error, unexpected T_ECHO in /home/riberad/public_html/admin/goleadores.php on line 14
  #24 (permalink)  
Antiguo 21/04/2009, 17:32
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Contar registros

te falta el ;
$row=mysql_fetch_assoc($sql_result);
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #25 (permalink)  
Antiguo 21/04/2009, 17:38
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Algo hemos avanzado ahora no sale ningún error, pero tampoco sale nada, sale la pagina en blanco.
  #26 (permalink)  
Antiguo 21/04/2009, 17:46
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Contar registros

para eso al final de tu codigo realiza esto

Código PHP:
while($row mysql_fetch_assoc($sql_result))
{
      echo 
'<td class="Estilo81">'.$row["fecha"].'</td>'

__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #27 (permalink)  
Antiguo 21/04/2009, 17:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Código PHP:
<? 
//Conexion con la base
$Con=mysql_connect("localhost","xxxxxxxxxx","xxxx"); 
//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("xxxxxxxx_ejemplo"$Con);//Conexion con la base
//Ejecutamos la sentencia SQL
$sql"SELECT SUM(CASE WHEN goleadores LIKE '%Ewerthon%' THEN 1 ELSE 0 END), SUM(CASE WHEN goleadores LIKE '%Jorge López%' THEN 1 ELSE 0 END)
FROM clientes
WHERE partido LIKE '%R.Zaragoza%'
AND (goleadores LIKE '%Ewerthon%' OR goleadores LIKE '%Jorge López')"
;
$sql_result mysql_query($sql$Con) or die("Couldn't execute bookings query. ");
//Mostramos los registros
while($row mysql_fetch_assoc($sql_result))
{
 echo 
'<td class="Estilo81">'.$row["fecha"].'</td>'

mysql_free_result($sql_result)
?>
Sigue saliendo en blanco..
  #28 (permalink)  
Antiguo 21/04/2009, 20:14
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Contar registros

Una sugerencia, ¿Porque no mueven esto a PHP o algo por el estilo?

Saludos
  #29 (permalink)  
Antiguo 21/04/2009, 21:21
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: Contar registros

Exacto, este tema ya se convirtio en un problema de programacion o de programador jeje..
Donde esta nuestro moderador??
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #30 (permalink)  
Antiguo 22/04/2009, 03:29
 
Fecha de Ingreso: septiembre-2006
Mensajes: 60
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Contar registros

Simplemente lo que busco es hacer una clasificación con los goleadores de un equipo, ya que hasta ahora modificaba los datos manualmente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:22.