Files
freeCodeCamp/guide/spanish/sql/sql-having-clause/index.md
2019-08-12 09:30:03 -07:00

2.9 KiB

title, localeTitle
title localeTitle
SQL Having Clause Cláusula de tener SQL

Cláusula de tener SQL

HAVING le da al programador que usa DBA o SQL una forma de filtrar los datos agregados por la cláusula GROUP BY para que el usuario obtenga un conjunto limitado de registros para ver.

Ejemplo de uso

La cláusula HAVING es como la cláusula WHERE, excepto que actúa sobre los datos agrupados. En este caso, el usuario solo verá las cantidades más grandes.

Esta información proviene de las contribuciones de la campaña que hemos estado usando en algunas de estas guías.

Esta declaración SQL responde a la pregunta: "¿Qué candidatos recibieron las mayores contribuciones totales en 2016, PERO solo aquellos que tenían más de 8 $ 20 millones de dólares?"

Al ordenar este conjunto de datos en un orden descendente (DESC), los candidatos con las mayores contribuciones totales se encuentran en la parte superior de la lista.

SELECT Candidate, Election_year, sum(Total_$), count(*) 
 FROM combined_party_data 
 WHERE Election_year = 2016 
 GROUP BY Candidate, Election_year -- indica al DBMS que agregue por estas dos columnas, en este caso suma Total_$ y cuenta el número de filas en las que coinciden Candidate y Election_year 
 HAVING sum(Total_$) > 20000000  -- limita las filas que se muestran a aquellas que superan los 20M (una vez sumados los datos según la claúsula GROUP BY) 
 ORDER BY sum(Total_$) DESC; -- ordena las filas resultantes, mostrando primero las de importe mayor 
+--------------------------------------------------+---------------+-------------------+----------+ 
 | Candidate                                        | Election_year | sum(Total_$)      | count(*) | 
 +--------------------------------------------------+---------------+-------------------+----------+ 
 | CLINTON, HILLARY RODHAM & KAINE, TIMOTHY M (TIM) |          2016 | 568135094.4400003 |      126 | 
 | TRUMP, DONALD J & PENCE, MICHAEL R (MIKE)        |          2016 | 366853142.7899999 |      114 | 
 | SANDERS, BERNARD (BERNIE)                        |          2016 |      258562022.17 |      122 | 
 | CRUZ, RAFAEL EDWARD (TED)                        |          2016 | 93430700.29000005 |      104 | 
 | CARSON, BENJAMIN S (BEN)                         |          2016 | 62202411.12999996 |       93 | 
 | RUBIO, MARCO ANTONIO                             |          2016 |        44384313.9 |      106 | 
 | BUSH, JOHN ELLIS (JEB)                           |          2016 |       34606731.78 |       97 | 
 +--------------------------------------------------+---------------+-------------------+----------+ 
 7 rows in set (0.01 sec) 

Al igual que con todas estas cosas de SQL, hay MUCHO MÁS que lo que está en esta guía introductoria.

Espero que al menos esto te dé suficiente para empezar.

Consulte el manual de su administrador de base de datos y diviértase probando diferentes opciones usted mismo.