Archivo de la categoría: BBDD

MySql: obtener el número de fila en las select


SELECT @row := @row + 1 as row, t.*
FROM some_table t, (SELECT @row := 0) r

Esta es una forma sencilla y elegante de obtener el número de fila en una select. Hace uso de las variable definidas por el usuario, un sistema propio de MySql que permite crear variables válidas duran la sesión. La forma de crear estas variables:

SET @var_name = expr [, @var_name = expr] ...

Recursos:

Variables de usuario en MySql.

Vía: Hackzine.

Cálculo de la distancia entre dos puntos de la tierra

Imágen de Wikipedia.

Imágen de Wikipedia.

Los sistemas de geolocalización están cada vez más presentes en las aplicaciones web. En estos sistemas se emplean coordenadas geográficas. En estos casos los usuarios se registran y proporcionan las coordenadas del lugar en el que se encuentran. Gracias a la distancia de Haversine podemos obtener la separación entre dos puntos terrestres. Ello nos permite encontrar usuarios cercanos a otro usuario, empresas y locales de ocio cercanos a un usuario… en fin, lo que se te ocurra.

Para ello empleamos las siguiente sentencia SQL (Hecha empleando funciones de MySql): Dados los puntos A y B

SELECT (acos(sin(radians(latitud_A)) * sin(radians(latitud_B)) +
cos(radians(latitud_A)) * cos(radians(latitud_B)) *
cos(radians(longitud_A) - radians(longitud_B))) * 6378);

El rádio de la tierra es 6378 Km. Las coordenadas geográficas se proporcionan en grados y las pasamos a radianes.

Recursos:

–Vía: tufunción.com

Resetear el valor de un campo autoincrement de una tabla en MySQL

Es muy habitual emplear el tipo autoincrement en tablas para crear el valor del índice de forma automática. Si tras usar la tabla deseeas borrar su contenido y usarla de nuevo verás como el campo autoincrement continua por el valor último que tuvo más uno. Para hacer que empiece de nuevo desde el valor 1:

ALTER TABLE nombre_tabla AUTO_INCREMENT=1

Recursos:

–Vía Eslomas.com

Seguir

Get every new post delivered to your Inbox.