Eliminar registros duplicados de una tabla

Eliminar registros duplicados

Vamos a ver como eliminar registros duplicados de una tabla.

Primero de todo comentar que hay que tener mucho cuidado con este tipo de sentencias SQL ya que podemos eliminar, cosas que no queríamos.

Así que antes de nada deberíamos hacer una copia de seguridad.

Y una vez dicho esto, y espero que hayas hecho la copia de seguridad, vamos al lío.

Sigue leyendo Eliminar registros duplicados de una tabla

Comparte si te ha gustado:
Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
0Digg this
Digg

Reiniciar auto incremental en MySQL y PostgreSQL

Hoy vamos con un tip rápido, como reiniciar el auto incremental de MySQL o el serial de PostgreSQL, para esos casos en los que has tenido que hacer muchas pruebas en tu local y quieres subirlo luego todo a tu servidor y te encuentras que el auto incremental de tu tabla empieza a contar desde el 31337 y quieres reiniciar el id.

Realmente no ocurre nada, ya que va a seguir funcionando igual tu proyecto, pero ya que lo estás empezando de cero, aunque hayas hecho muchas pruebas, imagino que te gustaría que ese auto incremental, empiece a contar desde 1.

Así que aquí os voy a explicar como hacerlo para MySQL y PostgreSQL, que son las bases de datos que más uso y creo que las más extendidas.

Tenemos dos maneras de hacerlo, la primera que es eliminar toda la tabla y volverla a crear y la segunda, que es básicamente asignándole al auto incremental un valor en concreto, veamos la primera.

Sigue leyendo Reiniciar auto incremental en MySQL y PostgreSQL

Comparte si te ha gustado:
Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
0Digg this
Digg

Agrupar datos mostrando la última fecha

Cuando estamos trabajando, siempre se nos piden muchas consultas, para obtener todos los datos posibles, para poder obtener el máximo de información. Y una de las consultas que se me ha repetido muchas veces es, encontrar el total de pedidos obteniendo la última fecha del pedido y en otros sitios la petición de datos era diferente, pero con el mismo fin, datos agrupados con la fecha más reciente.

Datos de ejemplo

En este ejemplo, vamos a tener dos simples tablas, la tabla clientes, con los datos de los clientes:

id_clientenombreapellidosemail
1AlbertoMartínezoyagum@gmail.com
2JuanLopezjlopez@gmail.com
3MariaSanchezmsanchez@gmail.com
4PedroAlmodovarpalmodovar@gmail.com
5AlbertoMartínezoyagum@gmail.com

 

Y la tabla pedidos con los datos de los pedidos

idfecha_creacionfecha_updateprecio_totalid_persona
12017-02-06 21:28:012017-02-05 21:28:10501
22017-02-05 21:38:482017-02-05 21:38:48464
32017-02-05 21:38:502017-02-05 21:38:501151
42017-02-05 21:38:502017-02-05 21:38:50803
52017-02-05 21:38:502017-02-05 21:38:501353
62017-02-05 21:38:502017-02-05 21:38:50505
72017-02-05 21:38:502017-02-05 21:38:501462
82017-02-05 21:38:502017-02-05 21:38:50791
92017-02-05 21:38:512017-02-05 21:38:51564
102017-02-05 21:38:512017-02-05 21:38:511143
112017-02-05 21:38:512017-02-05 21:38:51915
122017-02-05 21:38:512017-02-05 21:38:511283
132017-02-05 21:38:512017-02-05 21:38:511483
142017-02-05 21:38:522017-02-05 21:38:52844
152017-02-05 21:38:532017-02-05 21:38:531292
162017-02-05 21:38:532017-02-05 21:38:531261
172017-02-05 21:38:532017-02-05 21:38:53904
182017-02-05 21:38:532017-02-05 21:38:531094
192017-02-05 21:38:542017-02-05 21:38:541274
202017-02-05 21:38:542017-02-05 21:38:54783
212017-02-05 21:38:542017-02-05 21:38:541001
222017-02-05 21:38:542017-02-05 21:38:54623
232017-02-05 21:38:542017-02-05 21:38:54433
242017-02-05 21:38:552017-02-05 21:38:551261
252017-02-05 21:38:552017-02-05 21:38:551032

Tengo más datos en la tabla de pedidos, pero es para que os hagáis una idea.

 

La consulta SQL

Y ahora pasaremos a obtener la consulta para conseguir el total de pedidos de los clientes y la fecha de la última vez que compraron

Así que aquí os pongo como sería la consulta SQL:

Resultado

Y este sería el resultado de la consulta.

total_compradoultima_fecha_compranombreapellidosemail
152017-02-06 21:28:01AlbertoMartínezoyagum@gmail.com
162017-02-05 21:39:10JuanLopezjlopez@gmail.com
192017-02-05 21:39:04MariaSanchezmsanchez@gmail.com
202017-02-05 21:39:09PedroAlmodovarpalmodovar@gmail.com
152017-02-05 21:39:09AlbertoMartínezoyagum@gmail.com
Comparte si te ha gustado:
Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
0Digg this
Digg

Buscar registros duplicados con MySQL

Vamos a ver como buscar registros duplicados usando MySQL.

En este ejemplo tenemos la siguiente tabla de personas:

id_personaNombreApellidosemail
1AlbertoMartínez Roviraoyagum@gmail.com
2JuanLópez Romanjlopez@gmail.com
3MaríaSanchez Sanchezmsanchez@gmail.com
4PedroAlmodovarpalmodovar@gmail.com
5AlbertMartínezoyagum@gmail.com

Y como podeis ver a simple vista, hay emails que se encuentran repetidos, aquí es fácil de ver porque son muy pocos registros.

Pero primero, no nos vamos a fiarnos solo de nuestra vista y segundo, ¿porqué vamos a hacer nosotros el trabajo si lo puede hacer una máquina?

Así que realizaremos la siguiente consulta para saber cuantos e-mails hay repetidos:

En la consulta le hemos dicho que nos devuelva el total de emails repetidos que hay con lo cual nos devolverá lo siguiente:

total_repetidosemail
2oyagum@gmail.com

Como veis lo que nos retorna la consulta es el número de total de repetidos que tenemos y el email en cuestión, así podemos saber cuantos hay repetidos y cual es el repetido.

Espero que os haya servido de ayuda.

Recordad! No olvidéis de comentar! Vuestro código y en el Blog! 😉

Comparte si te ha gustado:
Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
0Digg this
Digg