Comandos SQL básicos en bases de datos (SELECT DISTINCT)

por | 27 mayo, 2017

En nuestros anteriores artículos mostramos como instalar y configurar una pequeña base de datos con PHPMyAdmin y MySQL, así pues, recomendamos dar un repaso a dichos artículos para tener clara la base sobre la que trabajaremos en este manual de SQL.

Para hacer más sencillo nuestro manual trabajaremos únicamente con dos tablas que serán ‘T_SENSOR‘ y ‘T_SENSOR_AUDIT‘, la primera representarán un listado de los sensores disponibles y conectados a nuestra Raspberry Pi, de la segunda obtendremos el muestreo de datos obtenidos con el paso del tiempo en dichos sensores.

Nota: Evidentemente todos los datos que usaremos de prueba serán de ejemplo, ni que decir que no disponemos aún de tomas de datos reales ni conexión directa a una Raspberry Pi conectada.

1. Consultas (SELECT DISTINCT) SQL

Partiremos de una base de datos donde ya existen algunos registros con repeticiones como sería la tabla ‘T_SENSOR_AUDIT‘  en la siguiente imagen:

En este caso es relativamente fácil distinguir el número de sensores que están registrando datos, no obstante, si tuviéramos 500 registros sería más difícil saber cuantos sensores o registros con ‘SENSOR_ID‘ distintos existen, es decir, puede que no fueran visibles registros del sensor  4 hasta que hubiéramos recorrido 200 registros y nos diera por pensar que no funciona.

Existe un modo de extraer un listado de los distintos Ids quitando duplicados, esta opción únicamente requiere añadir la palabra ‘DISTINCT‘ tras la sentencia ‘SELECT‘ e indicar a continuación el campo del cual deseamos averiguar los distintos valores existentes.

  • A continuación os mostramos una consulta ‘SELECT‘ con el resultado normal:

 

  • En este ejemplo damos uso al ‘SELECT DISTINCT‘ para que observéis su comportamiento no mostrando duplicados:

 

Esta sentencia ‘SELECT DISTINCT‘ en conjunto con algún criterio de búsqueda nos puede proporcionar información bastante interesante, un ejemplo sería buscar el listado de los sensores activos en una fecha concreta, sensores con errores en un rango de fecha,…

 

Hasta aquí el artículo, continuaremos en nuestro próximo artículo con la construcción de condiciones de búsqueda en SQL.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.