Está en la página 1de 5

1. Cuántas organizaciones están inscritas en el registro?

2. Cuántas personas están acreditadas para acceso a las instalaciones del parlamento
europeo?

3. Obtener el identificador, la url y el número de personas acreditadas por organización.

4. Número de personas acreditadas agrupadas por título (title), está balanceado?

5. Top10 intereses de las organizaciones dentro de la UE

6. Distribución de las organizaciones por su categoría

7. Distribución de las organizaciones por el país de su oficina principal

8. Distribución de las organizaciones por su categoría para aquellas empresas con base
en España.

9. Listado de organización, url con grants mayores que 100.000.000 de euros ordenados
descendente.

Cuántas son?

10. Distribución de las personas de contacto de las organizaciones por tipo y por genero
(title)? Está balanceada?

RESPUESTAS

1. Cuántas organizaciones están inscritas en el registro?

SELECT COUNT(ORG_PROFILE.ID)

FROM ORG_PROFILE;

2. Cuántas personas están acreditadas para acceso a las instalaciones del


parlamento europeo?

SELECT COUNT(ID)

FROM ORG_ACCREDITED;
3. Obtener el identificador, la url y el número de personas acreditadas por
organización.

SELECT ORG_PROFILE.ID, ORG_PROFILE.NAME,

ORG_PROFILE.URL, COUNT(ORG_ACCREDITED.ID)

FROM ORG_ACCREDITED, ORG_PROFILE

WHERE ORG_ACCREDITED.ID = ORG_PROFILE.ID

GROUP BY ORG_PROFILE.ID, ORG_PROFILE.NAME, ORG_PROFILE.URL

ORDER BY COUNT(ORG_ACCREDITED.ID) DESC;

Ejercicio 3: Recuerda que debes incluir en el select solamente aquellas columnas que
lleves en el group by o funciones de agregación. En tu caso haces GROUP BY
ORG_PROFILE.NAME sin embargo en el SELECT tienes ORG_PROFILE.ID,
ORG_PROFILE.NAME, ORG_PROFILE.URL Para asegurarte de que SQL no escoge
el primero que encuentre deberías incluir ID y URL en el GROUP BY

4. Número de personas acreditadas agrupadas por tíulo (title), está balanceado?

SELECT ORG_ACCREDITED.TITLE, COUNT(ORG_ACCREDITED.TITLE)

FROM ORG_ACCREDITED

GROUP BY ORG_ACCREDITED.TITLE

ORDER BY COUNT(ORG_ACCREDITED.TITLE) DESC;

5. Top10 intereses de las organizaciones dentro de la UE

SELECT INTERESTS.NAME, COUNT(INTERESTS.ID)


FROM INTERESTS, ORG_INTERESTS

WHERE ORG_INTERESTS.INTERESTID = INTERESTS.ID

GROUP BY INTERESTS.NAME

ORDER BY COUNT(INTERESTS.ID) DESC

LIMIT 10;

6. Distribución de las organizaciones por su categoría

SELECT CATEGORIES.ID, CATEGORIES.NAME, COUNT(ORG_PROFILE.ID)

FROM CATEGORIES, ORG_CATEGORIES

WHERE ORG_CATEGORIES.ID = ORG_PROFILE.ID

AND ORG_CATEGORIES.CATEGORYID = CATEGORIES.ID

GROUP BY CATEGORIES.ID, CATEGORIES.NAME

ORDER BY COUNT(ORG_PROFILE.ID) DESC;

7. Distribución de las organizaciones por el país de su oficina principal

SELECT countries.name, count(org_address.countryId)

FROM countries, org_address

WHERE org_address.countryId = countries.id

GROUP BY countries.name, org_address.countryId

ORDER BY count(org_address.countryId) desc;


8. Distribución de las organizaciones por su categoría para aquellas empresas con
base en España.

SELECT COUNTRIES.ID, COUNTRIES.NAME, CATEGORIES.NAME,


COUNT(ORG_PROFILE.ID)

FROM COUNTRIES, CATEGORIES, ORG_CATEGORIES, ORG_ADDRESS

WHERE ORG_CATEGORIES.ID = ORG_PROFILE.ID

AND ORG_CATEGORIES.CATEGORYID = CATEGORIES.ID

AND COUNTRIES.ID = ORG_ADDRESS.COUNTRYID

AND ORG_ADDRESS.ID = ORG_PROFILE.ID

AND COUNTRIES.ID = 204

GROUP BY COUNTRIES.NAME, CATEGORIES.NAME

ORDER BY COUNTRIES.ID ASC, COUNT(ORG_PROFILE.ID) DESC;

9. Listado de organización, url con grants mayores que 100.000.000 de euros


ordenados descendente.

SELECT ORG_PROFILE.NAME, ORG_PROFILE.URL,


ORG_FINANCIAL.GRANTS

FROM ORG_PROFILE, ORG_FINANCIAL

WHERE ORG_PROFILE.ID = ORG_FINANCIAL.ID

AND ORG_FINANCIAL.GRANTS > 100000000

ORDER BY ORG_FINANCIAL.GRANTS DESC;

Cuántas son?

Número de filas devueltas: 10


SELECT COUNT(ORG_PROFILE.ID)

FROM ORG_PROFILE, ORG_FINANCIAL

WHERE ORG_PROFILE.ID = ORG_FINANCIAL.ID

AND ORG_FINANCIAL.GRANTS > 100000000;

10. Distribución de las personas de contacto de las organizaciones por tipo y por
genero Está balanceada?

SELECT ORG_CONTACTS.TYPE, ORG_CONTACTS.TITLE,


COUNT(ORG_CONTACTS.TITLE)

FROM ORG_CONTACTS

GROUP BY ORG_CONTACTS.TYPE, ORG_CONTACTS.TITLE

ORDER BY ORG_CONTACTS.TYPE, COUNT(ORG_CONTACTS.TITLE) DESC;

Ganan los hombres con una relación de 3 a 1.

También podría gustarte