# Back-end 28/07/2020
```sql
select
category,
count(*)
from
times
group by category
order by count(*) desc
```
------
```sql
select * from (
select
category, count(*)
from times
group by category
order by count(*) desc
) as honras
where count between 3 and 6;
```
--------
```sql
select * from times
where category in (
select category from (
select
category, count(*)
from times
group by category
order by count(*) desc
) as honras
where count between 3 and 6
order by count desc
limit 2
)
```
--------------
```sql
select * from (
select
birth_country, count(*)
from
nobel
group by birth_country
) as honras
where count between 10 and 50
order by count desc
```
--------------
```sql
select prize_share from (
select
prize_share, count(*)
from nobel
group by prize_share
order by count asc
) as prize
```
---------------
```sql
select
full_name, category, year
from nobel
where prize_share in (
select prize_share from (
select
prize_share, count(*)
from nobel
group by prize_share
order by count asc
) as prize
limit 1
)
limit 5
```
-------------------
```sql
select
category, count(*)
from nobel
where prize_share in (
select prize_share from (
select
prize_share, count(*)
from nobel
group by prize_share
order by count asc
) as prize
limit 1
)
group by category
order by count(*) desc
```
-------------------
```sql
select
category, count(*)
from nobel
where prize_share in (
select prize_share from (
select
prize_share, count(*)
from nobel
group by prize_share
order by count asc
) as prize
limit 1
)
group by category
having (count(*)) > 30
```
------------------------
```sql
select name, count(*) from (
select
unnest((string_to_array(name,' '))) as name
from cervejarias
) as names
group by name
order by count(*) desc
limit 4
```
--------------------
```sql
select name, count(*) from (
select
unnest((string_to_array(name,' '))) as name
from cervejas
) as names
group by name
order by count(*) desc
limit 5
```
------------------
```sql
select count(*) from (
select name, count(*) from (
select
unnest((string_to_array(name,' '))) as name
from cervejarias
) as names
group by name
order by count desc) as names_word
where count = 1
```
----------------
```sql
select count(*) from (
select name, count(*) from (
select
unnest((string_to_array(name,' '))) as name
from cervejas
) as names
group by name
order by count desc) as names_word
where count = 1
```
----------------
```sql
select * from (
select
unnest((string_to_array(name,' '))) as names_1
from cervejarias i
group by names_1
) as c1
where c1.names_1 in (select
unnest((string_to_array(name,' '))) as names_2
from cervejas
group by names_2
)
```
-----------
```sql
select
unnest((string_to_array(casting,', '))) actors
from
netflix;
```
-------------
```sql
select
unnest((string_to_array(casting,', '))) actors,
count(*)
from
netflix
group by actors
order by count desc;
```
---------------
```sql
select
unnest((string_to_array(casting,', '))) actors,
count(*)
from
netflix
group by actors
order by count desc
limit 10;
```
--------------------------
```sql
select * from (
select
unnest((string_to_array(casting,', '))) actors,
count(*)
from
netflix
group by actors
order by count desc
) as a
where count between 10 and 30
and count not between 15 and 20
```
---------
```sql
select * from (
select
unnest((string_to_array(casting,', '))) actors,
unnest((string_to_array(country,', '))) country,
count(*)
from
netflix
where country not like '%,%'
and country not like 'India'
group by actors, country
order by count desc
) as a
where count >= 10
```
---------------------
```sql
select * from (
select
unnest((string_to_array(director,', '))) as director
from netflix
group by director
) as d
where d.director in (select
distinct unnest((string_to_array(casting,', '))) as actors
from netflix
)
```