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

Consulta que no me sale del todo bien

Estas en el tema de Consulta que no me sale del todo bien en el foro de Mysql en Foros del Web. Tengo en una tabla: Digamos que tengo una tabla para galerias de fotos. En cada fila tengo: nombre, FechaUpdate Y queria sacar por pantalla SELECT ...
  #1 (permalink)  
Antiguo 26/08/2008, 03:14
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Consulta que no me sale del todo bien

Tengo en una tabla:

Digamos que tengo una tabla para galerias de fotos.

En cada fila tengo:

nombre, FechaUpdate

Y queria sacar por pantalla

SELECT nombre,count(*) as numGal FROM hot GROUP BY nombre ORDER BY nombre ASC,FechaUpdate DESC

Pero el criterio de FechaUpdate no lo saca bien.

Quiero que no me salgan los nombres repetidos (que los hay) y quiero que me salga la ultima fecha de update.




Resumiendo:

Necesito ordenar una tabla por fecha descendente.

Y sobre esa tabla ordenada aplicar:

SELECT nombre,count(*) as numGal FROM hot GROUP BY nombre ASC

Ha alguien se le ocurre como?

Actualmente estoy haciendo:

$listado= mysql_query("SELECT nombre,count(*) as numGal FROM hot GROUP BY nombre ASC",$conexion);

while ($registro = mysql_fetch_array($listado)) {

$aux=mysql_query("SELECT fecha FROM hot WHERE nombre='$registro[nombre]' ORDER BY fecha DESC LIMIT 1",$conexion);
$fecha = mysql_fetch_array($aux);
$fecha=$fecha["fecha"];
mysql_free_result($aux);

....


pero hay 1500 registros y estoy haciendo 1500 accesos a la bd y me gustaria reducirlos.

Gracias.

Última edición por DMR; 26/08/2008 a las 03:26
  #2 (permalink)  
Antiguo 26/08/2008, 04:08
Avatar de sonic22  
Fecha de Ingreso: abril-2008
Ubicación: Rosario
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Consulta que no me sale del todo bien

para que no te salgan los nombres repetidos tenes que usar la clausula DISTINCT

seria algo asi:

SELECT DISTINCT nombre FROM hot ORDER BY FechaUpdate DESC

Espero sirva.
  #3 (permalink)  
Antiguo 26/08/2008, 05:20
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Consulta que no me sale del todo bien

Pero si pongo la clausula distinct ya no funciona el count(*)

Porque a la vez quiero sacar el numero de registros que tiene cada "nombre"
  #4 (permalink)  
Antiguo 26/08/2008, 08:07
 
Fecha de Ingreso: agosto-2008
Ubicación: Medellin
Mensajes: 7
Antigüedad: 15 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Consulta que no me sale del todo bien

Hola.
mysql_num_rows() te devuelve el numero de resultados en un result set, que seria equivalente a hacer count() para una consulta. Porque no miras aqui:
http://www.php.net/manual/en/function.mysql-num-rows.php

Espero te sirva la info!
  #5 (permalink)  
Antiguo 26/08/2008, 08:14
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Consulta que no me sale del todo bien

A ver.... no se si me explique mal...

Resulta que si tengo la tabla

Nombre - ID - Fecha - Ruta
----------------------------------
Roberto - 3 - 20-08-08 - /web
Roberto - 4 - 21-08-08 - /rober
Juan - 5 - 10-09-07 - /juan
Juan - 6 - 13-09-07 - /juan/2
Juan - 7 - 14-09-07 - /juan/4
Juan - 8 - 08-09-07 - /juan/99
Sara - 9 - 10-08-08 - /sara

Al hacer la consulta quiero sacar esto:

Nombre - Count(*) - Fecha
----------------------------------
Roberto - 2 - 21-08-08
Juan - 4 - 14-09-07
Sara - 1 - 10-08-08

El problema que tengo es que me sale asi, pero la fecha no me sale la mas reciente, sino que pilla la primera.
  #6 (permalink)  
Antiguo 28/08/2008, 10:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta que no me sale del todo bien

Prueba esta consulta:
SELECT nombre, count( * ) total, max( fecha ) fechafinal
FROM `tabla`
GROUP BY nombre

Supongo que tu campo fecha será date... Pues parece que no es así, pues presentas un orden de datos que no es el de almacenamiento... Mira el tipo de dato del campo fecha antes de nada.
  #7 (permalink)  
Antiguo 28/08/2008, 13:27
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Consulta que no me sale del todo bien

Perfecto.

Mil gracias me has ahorrado 1000 consultas sql :)
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 09:51.