SQL e DadosTrilha · etapa 710 min
ORDER BY: ordenação com ASC e DESC
Vídeos desta etapa, na ordem do portal:
- Ordenando resultados com ORDER BY · 5 min
- Utilizando ORDER BY com DESC · 6 min
Você já filtra linhas com WHERE usando =, >, <, <>, AND, OR, IN e NOT IN depois de projetar colunas com SELECT, FROM, *, AS e ROUND. Sem ordem definida, o resultado vem na ordem que o banco entrega. Esta aula introduz ORDER BY com ASC e DESC para ordenar por uma ou mais colunas e destrava resultados cronológicos e do mais recente para o mais antigo.
O que foi falado
Ordenar com SELECT ... ORDER BY coluna
Vídeo 1 · 00:00:38ORDER BY recebe as colunas de ordenação. Quando uma coluna é indicada sem direção, ASC é o padrão: ordem crescente. Sem ORDER BY, a consulta não garante uma ordem de linhas. Empates precisam de critérios adicionais quando a ordem entre eles importa.
SELECT * FROM "Station Data" ORDER BY YEAR;Ordem cronológica com YEAR, MONTH
Vídeo 1 · 00:01:14Para cronologia, ordene por
YEAR, MONTHseparados por vírgula comORDER BY YEAR, MONTH. A primeira coluna manda e a segunda desempatada quando o ano repete. O filtroWHERE Tornado = 1vem antes e oORDER BYordena só o que passou no filtro.SELECT * FROM "Station Data" WHERE Tornado = 1 ORDER BY YEAR, MONTH;Ordenar só por MONTH embaralha o ano
Vídeo 1 · 00:03:13Se ordenar só por
MONTH, todos os janeiros vêm juntos e depois os fevereiros, mesmo de anos diferentes. Isso serve para comparar mês, mas não dá linha do tempo. Para linha do tempo, incluaYEARantes deMONTH.SELECT * FROM "Station Data" ORDER BY MONTH;DESC para ordem decrescente
Vídeo 2 · 00:00:03DESC ordena uma coluna em sentido decrescente. Para datas completas, ordenar a data com DESC coloca registros mais recentes primeiro. Usar somente YEAR DESC coloca os anos mais novos primeiro, mas não define a sequência dos meses ou dos registros dentro de cada ano.
SELECT * FROM "Station Data" ORDER BY YEAR DESC;Direção própria por coluna com YEAR DESC, MONTH ASC
Vídeo 2 · 00:02:10Cada coluna pode ter sua direção, como em
YEAR DESC, MONTH ASC. Isso lista o ano mais recente primeiro, mas com os meses de janeiro a dezembro dentro de cada ano. A vírgula separa as colunas eASCpode ser omitido porque já é o padrão.SELECT * FROM "Station Data" WHERE Tornado = 1 ORDER BY YEAR DESC, MONTH ASC;Todos os registros por MONTH DESC
Vídeo 2 · 00:04:14ORDER BY MONTH DESCordena de dezembro para janeiro em todos os registros. Mostra queDESCvale para qualquer coluna, não só para ano. TrocarASCporDESCsó inverte a lista.SELECT * FROM "Station Data" ORDER BY MONTH DESC;
Conceitos da aula
- SELECT
- WHERE
- ORDER BY
- ASC
- DESC
- Ordenação por múltiplas colunas
- Ordenação secundária para desempate
Reforce este assunto
- LIKE, BETWEEN, IN, DISTINCT, ORDER BY e GROUP BYSQL e Dados · aula 13
- AT Looker Studio e SQL: GROUP BY, HAVING e ORDER BYSQL e Dados · aula 15
- DISTINCT, GROUP BY, HAVING e funções de agregaçãoSQL e Dados · aula 14