sql >> Databáze >  >> RDS >> Database

Jak seřadit podle dvou sloupců v SQL?

Problém:

Je potřeba zobrazit záznamy z dané tabulky seřazené podle dvou sloupců.

Příklad:

Naše databáze obsahuje tabulku s názvem employee s následujícími sloupci:id , first_name , last_name a salary .

id křestní_jméno last_name plat
1 Lisa Ulman 3000
2 Ada Muller 2400
3 Thomas Zelená 2400
4 Michael Muller 3000
5 Marie Zelená 2400

Zobrazme všechny informace pro každého zaměstnance, ale seřaďme záznamy podle mzdy nejprve sestupně a poté vzestupně podle příjmení.

Řešení:

SELECT id,  
  first_name,
  last_name,
  salary
FROM employee
ORDER BY salary DESC, last_name;

Tento dotaz vrací setříděné záznamy podle dvou sloupců:plat a last_name .

<
id křestní_jméno last_name plat
4 Michael M uller 3000
1 Lisa U lman 3000
3 Thomas G reen 2400
5 Marie G reen 2400
2 Ada M uller 2400

Diskuse:

Pokud chcete vybrat záznamy z tabulky, ale chtěli byste je vidět seřazené podle dvou sloupců, můžete tak učinit pomocí ORDER BY . Tato klauzule je na konci vašeho dotazu SQL.

Po ORDER BY klíčové slovo, přidejte název sloupce, podle kterého chcete záznamy seřadit jako první (v našem příkladu plat). Poté za čárku přidejte druhý sloupec (v našem příkladu last_name ). Pořadí řazení (vzestupně nebo sestupně) můžete upravit samostatně pro každý sloupec. Chcete-li použít vzestupné (od nejnižšího k nejvyššímu) pořadí, můžete použít ASC klíčové slovo; toto klíčové slovo je však nepovinné, protože to je výchozí pořadí, když není zadáno žádné. Pokud chcete použít sestupné pořadí, vložte DESC klíčové slovo za příslušným sloupcem (v příkladu jsme pro salary použili sestupné pořadí sloupec).

V našem příkladu jsme nejprve seřadili výsledek podle platu v sestupném pořadí (od vyšších platů k nižším) a poté vzestupně podle příjmení v rámci již seřazených záznamů.


  1. Jak srovnávat výkon PostgreSQL

  2. Autonomní transakce v PostgreSQL 9.1

  3. jak získat sloupec podobný rowNum v sqlite IPHONE

  4. Upgradovat řádky pouze při upgradu aplikace