Ayuda SQL DISTINCT

Iniciado por TheGhost(Z), 22 Octubre 2009, 20:28 PM

0 Miembros y 1 Visitante están viendo este tema.

seba123neo

yo sinceramente tampoco entendi con exactitud lo que quiere TheGhost(Z) , que nos muestre lo que quiere y no s de un ejemplo, porque no podemos seguir "suponiendo".

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

^Tifa^

Yo entendi esto:

Citarmostrar los clientes sin repeticiones y la ciudad con repeticiones.

Lo malo es que no me muestra los datos que se repiten en el campo CIUDAD.

Mostrar Clientes unicos sin repeticiones y Mostrar todas las ciudades se repitan o no. Si esto es lo que el realmente quiere, me temo que el GROUP BY seria obsoleto ya que lo limitaria solo a mostrar registros unicos tanto de Clientes como Ciudad.


seba123neo

Cita de: ^TiFa^ en 23 Octubre 2009, 06:23 AM
me temo que el GROUP BY seria obsoleto ya que lo limitaria solo a mostrar registros unicos tanto de Clientes como Ciudad.

eso esta mas que claro, cualquiera que sabe algo de SQL saber que no puede agrupar de esa forma, esperemos entonces que nos responda el autor del post.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

^Tifa^

Supongo que si seba123neo   :-*   :-*   :-*

Por cierto, se puede confundir la peticion del chico un pelin  :rolleyes:

Rectifico, si el chico en cuestion lo que desea es los clientes unicos no repetidos y las ciudad repetidas el podria optar por lo siguiente:

Código (sql) [Seleccionar]


SELECT DISTINCT CLIENTE FROM CLIENTES
UNION ALL
SELECT CIUDAD FROM CLIENTES HAVING COUNT(CIUDAD) > 2



Asi obtendria todos los clientes unicos no repetidos, y todas las ciudades repetidas mas de una vez  ;)

Angeldj27

Creo que la consulta seria
Select DISTINCT CLIENTE, CIUDAD From CLIENTE

Porque si se fijan si se fijan a lo que el se refiere es a los clientes que no se repiten independiente del nombre que tengan porque si tienen el mismo nombre de Maria pero una Vive Mexico y la otra en Uruguay los registros no estan repetidos porque son dos clientes diferentes totalmente porque viven en diferentes ciudades u de esa forma creeo k es lo mas logico...   ;D


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

^Tifa^

Citar
Porque si se fijan si se fijan a lo que el se refiere es a los clientes que no se repiten independiente del nombre que tengan porque si tienen el mismo nombre de Maria pero una Vive Mexico y la otra en Uruguay los registros no estan repetidos porque son dos clientes diferentes totalmente porque viven en diferentes ciudades u de esa forma creeo k es lo mas logico...

Si pero fijate:

CitarLo malo es que no me muestra los datos que se repiten en el campo CIUDAD.

Entonces si solo muestra Maria de Mexico, Uruguay donde queda??? el no quiere a Maria y Uruguay, pero si quiere a Uruguay y a Mexico.

cassiani

#16
uhmm ok, ubique mi error .. uhm. ..

Angeldj27

Si pero como son de dos diferentes paises la sentencia la va a enviar como si fueran diferntes y te la va a presentar asi

+---------+-----------+
| cliente | ciudad    |
+---------+-----------+
| Maria   | Mexico     |
| Maria   | Uruguay   |
+---------+-----------+

porque maria se repite pero cada ciudad es diferente pero a lo que el se refiere es que no le presenta otros nombres con la misma ciudad pero de esta forma lo muestra osea si aparece luis de Mexico lo va a mostrar sin ningun problema.  :silbar:

Saludos...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

TheGhost(Z)

Hola, perdonen que no haya entrado al post. La idea es tal y cual me ha entendido ^TiFa^.

Tengo una base de datos con 16 Mil clientes y de los cuales hay muchos repeditos.  por jemplo como estos...

Cliente    Ciudad
Pedro     Lima
Pedro     Buenos Aires
Pedro     Madrid
Juan       Lisboa
Miguel    Lima
Miguel    Madrid
Miguel    Lisboa

Lo que deseo es recuperar al menos una ciudad para cada cliente único:

Pedro  LIma
Juan    Lisboa
Miguel LIma

Es decir, al menos recuperar una ciudad por cada cliente. he intentando con DISTINCT Clientes, pero al coger el campo Ciudad me dice que no existe. Por ello Hice DISTINCT Clientes, Ciudad. ahora no me da error pero el problema es que ya no me muestra a Miguel

TheGhost(Z)

Holas!
Finalmente, gracias a sus aportes, pude resolver mi problema:

Cliente    Ciudad
Pedro       Lima
Pedro       Buenos Aires
Pedro       Madrid
Juan         Lisboa
Juan         Santander

Miguel      Lima
Miguel      Madrid
Miguel      Lisboa

Con este
SELECT CLIENTE, MAX(CIUDAD) AS CIUDAD FROM CLIENTES GROUP BY CLIENTE

Obtuve los siguiente...

Cliente    Ciudad
Pedro        Buenos Aires
Juan          Lisboa
Miguel       Lima

Un millon de gracias a todos..    :)