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

algo sencillo ab quien me ayuda

Estas en el tema de algo sencillo ab quien me ayuda en el foro de Bases de Datos General en Foros del Web. HOLA: Si hago una consulta donde aparecen varios registros con un campo con ID 1, (O sea con el mismo parametro varias filas) como podria ...
  #1 (permalink)  
Antiguo 02/02/2005, 14:55
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
algo sencillo ab quien me ayuda

HOLA:

Si hago una consulta donde aparecen varios registros con un campo con ID 1, (O sea con el mismo parametro varias filas) como podria restringir la consulta para que solo muestre el primer registro registro con ID 1 q encuentre y no los demas (la primera fila y no el resto)??


SALUDOS Y GRACIAS
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #2 (permalink)  
Antiguo 03/02/2005, 21:13
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 22 años
Puntos: 0
Utilizando LIMIT

Solo tienes que agregar LIMIT 1 al final de tu actual consulta, por ejemplo

SELECT * FROM tablename WHERE id=1 LIMIT 1

Salutes!
  #3 (permalink)  
Antiguo 04/02/2005, 01:35
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola, gracias por contestar,, creo q me he explicado mal lo que yo kiero es listar resultados cuyos registros no se repitan,, es decir... si yo tengo dos registros donde la columna color es igual rojo ,, pues solo mostrar el mas reciente;

id - Color
---------
1 | rojo
2 | azul
3 | verde
4 | rojo
5 | naranja
6 | verde

LISTAR TODOS ESTOS COLORES SALVO EL 4 Y EL 6 PORQUE SE REPITEN, PERO NO ME VALE RESTRINGIR 4 Y 6 PORQUE NO SON VALORES FIJOS.

MUCHAS GRACIAS DE ANTEMANO
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #4 (permalink)  
Antiguo 04/02/2005, 02:30
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
Prueba con algo así:

SELECT Max(id) AS UltimoId, Color FROM TuBabla GROUP BY Color
  #5 (permalink)  
Antiguo 04/02/2005, 06:16
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 22 años
Puntos: 0
Ese es otro cantar

Lo que tienes que poner es

SELECT DISTINCT color, id FROM tablename WHERE 1

Teri, lo que tu propones tambien es válido, pero DISTINCT es mas rápido que GROUP BY

Salutes!
  #6 (permalink)  
Antiguo 04/02/2005, 08:51
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
Chicos no me funciona ninguno de los dos metodos, igual lo estoy aplicando mal, pues esta es mi sentencia:

SELECT * FROM conciertos WHERE $recientes AND validacion='1' ORDER BY fecha ASC

Lo que va a mostrar en pantalla son: id, color, numero, nombre.

Yo quiero mostrar todas las filas, pero lo unico que NO quiero es que muestre aquella fila cuyo color ya haya sido repetido.

¿Me explico? MUCHISIMAS GRACIAS
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #7 (permalink)  
Antiguo 04/02/2005, 09:28
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 22 años
Puntos: 0
Asumiendo que $recientes es una condicion y no un valor unico lo que tendrias que poner es algo similar a lo que posteo teri, es decir

SELECT * FROM conciertos WHERE $recientes AND validacion='1' GROUP BY color ORDER BY fecha ASC

Espero que esta si te de resultado.

Salutes!
  #8 (permalink)  
Antiguo 04/02/2005, 10:40
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
REholas,, gracias por contestar y ayudarme, ahora parece que si funciona bien lo unico q no me ordena bien las fechas, es como si ignorase el ORDER BY, jamás pensé q me fuese a dar tantos problemas esto. GRACIAS OTRA VEZ
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #9 (permalink)  
Antiguo 04/02/2005, 10:47
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 22 años
Puntos: 0
Fijate que el campo fecha sea del tipo DATE

Salutes!
  #10 (permalink)  
Antiguo 04/02/2005, 10:50
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
una pregunta:

Yo tengo esto:
SELECT * FROM conciertos WHERE $recientes AND validacion='1' GROUP BY color ORDER BY fecha ASC

Como podria ordenarlo tambien por otra columna por ejemplo:

SELECT * FROM conciertos WHERE $recientes AND validacion='1' GROUP BY color ORDER BY fecha, id_numero ASC

Esto me vale,, pero si "fecha" quiero que sea ASC y id_numero quiero q sea DESC??

SALUDOS Y GRACIAS POR TU AMABLE AYUDA
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #11 (permalink)  
Antiguo 04/02/2005, 10:51
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
y el campo es del tipo DATE, de hecho funcionaba antes de aplicar el GROUP BY, gracias de nuevo
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #12 (permalink)  
Antiguo 04/02/2005, 11:20
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 22 años
Puntos: 0
Utiliza

SELECT * FROM conciertos WHERE $recientes AND validacion='1' GROUP BY color ORDER BY fecha ASC, id_numero DESC

Asi de facil!!

Salutes!
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 00:46.