Como hacer una pagina web y ganar dinero
Creada para aprender lo que mas nesesitas porque la calidad es mejor que la cantidad.
Blog

No repetir registros duplicados en Mysql

Tags: no, repetir, registros, duplicados, en, mysql
publicado el 2010-10-28   leido 9795 leídas

muchas veces necesitamos mostrar una lista de contenido, en las cuales no queremos que se repitan algunos registros con campos iguales.


Con la cláusula "distinct" se especifica que los registros con ciertos datos duplicados sean obviadas en el resultado. Por ejemplo, queremos conocer todos los autores de los cuales tenemos libros, si utilizamos esta sentencia:

 select autor from libros;

Aparecen repetidos. Para obtener la lista de autores sin repetición usamos:

 select distinct autor from libros;

También podemos tipear:

 select autor from libros
group by autor;

Note que en los tres casos anteriores aparece "null" como un valor para "autor"· Si sólo queremos la lista de autores conocidos, es decir, no queremos incluir "null" en la lista, podemos utilizar la sentencia siguiente:

 select distinct autor from libros
where autor is not null;

Contar los distintos autores


Para contar los distintos autores, sin considerar el valor "null" usamos:

 select count(distinct autor)
from libros;

Note que si contamos los autores sin "distinct", no incluirá los valores "null" pero si los repetidos:

 select count(autor)
from libros;

Esta sentencia cuenta los registros que tienen autor.

Para obtener los nombres de las editoriales usamos:

 select editoriales from libros;

Para una consulta en la cual los nombres no se repitan tipeamos:

 select distinct editorial from libros;

Podemos saber la cantidad de editoriales distintas usamos:

 select count(distinct editoriales) from libros;

Podemos combinarla con "where". Por ejemplo, queremos conocer los distintos autores de la editorial "Planeta":

 select distinct autor from libros
where editorial='Planeta';

También puede utilizarse con "group by":

 select editorial, count(distinct autor)
from libros
group by editorial;

Para mostrar los títulos de los libros sin repetir títulos, usamos:

 select distinct titulo from libros
order by titulo;

La cláusula "distinct" afecta a todos los campos presentados. Para mostrar los títulos y editoriales de los libros sin repetir títulos ni editoriales, usamos:

 select distinct titulo,editorial
from libros
order by titulo;

Note que los registros no están duplicados, aparecen títulos iguales pero con editorial diferente, cada registro es diferente.


Te gust?

Buscar Registros en Mysql con Full Text

Optimiza tu MySQL usando Indices

 
Información
Christian Valencia publicado porPor: Ero-Fierce

Suscribete
Recibe los ultimos articulos en tu email:


Ultimos Artculos
Hacer SEO en el 2016 - 2017
Habilitar sonido al pulsar las teclas Bloq Mayús, Bloq Num y Bloq Des
10 trucos viejos, seo que nunca te dijeron
15 Efectos carrusel como pagina de libro animado con ejemplos
No se pudo generar una instancia de usuario de SQL Server debido a un error (.mdf
Solucion Error 26. No se encontró el servidor o éste no estaba accesible. Sql

Todos los tutoriales

Hacer una web paso a paso Php y MySQL Javascript
Posicionamiento Web SEO Cómo ganar dinero con tu web Herramientas y Programas Web
Maquetación con CSS Hosting y Dominios MySQL y Phpmyadmin
Ajax UML: Analisis y Diseño Programacion Orientada a Objetos
Java
 
Copyright © 2009 - pagina Web 2 - Todos los derechos Reservados