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

En una única sentencia sql...

Estas en el tema de En una única sentencia sql... en el foro de Bases de Datos General en Foros del Web. Hola a to2 Tengo una base de datos cuya tabla se llama VISITANTES, con los campos ID, FECHA y HITS. Lo que pretendo es sacar ...
  #1 (permalink)  
Antiguo 10/09/2004, 05:18
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 11 meses
Puntos: 144
En una única sentencia sql...

Hola a to2

Tengo una base de datos cuya tabla se llama VISITANTES, con los campos ID, FECHA y HITS. Lo que pretendo es sacar el día con máximas visitas (hits), y al lado la fecha.

Para ello, utilizo esta sentencia:

SQL="SELECT DISTINCT * FROM visitantes WHERE hits IN (SELECT MAX(hits) AS maximasvisitas FROM visitantes) OR hits IN (SELECT MIN(hits) AS minimasvisitas FROM visitantes) ORDER BY hits DESC"

Pero tengo el problema que me devuelve resultados repetidos, como por ejemplo:

01/01/04 ----> 350 (es el máximo)
08/06/04 ----> 350 (es el máximo)
12/08/04 ----> 23 (es el mínimo)
17/08/04 ----> 23 (es el mínimo)

He usado DISTINCT pero ná de ná, porque me busca los campos diferentes (*), y solo quiero que me muestre los hits diferentes, como sigue (mostrando por ejemplo la máxima y la mínima visita, con su fecha correspondiente, pero la más actual):

08/06/04 ----> 350 (es el máximo)
17/08/04 ----> 23 (es el mínimo)

Estoy bastante atascado, ¿me echais una mano?.

Infinitas gracias.
  #2 (permalink)  
Antiguo 10/09/2004, 05:54
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Prueba esta instrucción
Código:
select fecha, max(hits)
from visitantes
group by 1
order by 2 desc
limit 0,1
Un saludo.
  #3 (permalink)  
Antiguo 10/09/2004, 06:06
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 11 meses
Puntos: 144
No entiendo esa instrucción, pero en fin, la he probado y me arroja un error (la uso en asp)

He puesto la siguiente cadena:

SQL="select fecha, max(hits) as maximasvisitas from visitantes group by 1 order by 2 desc limit 0,1"

Y me dice que "nanai":

Syntax error in ORDER BY clause

Aparte, ¿eso solo obtendría el máx. o también el mín?.
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 23:07.