add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE t (name, year);

INSERT INTO t VALUES
('A', 2014), ('A', 2013), ('V', null), ('Z', null), ('B', 2013), ('W', null);

SELECT *
FROM t
ORDER BY year NULLS LAST,
CASE WHEN year IS NOT NULL THEN name END,
CASE WHEN year IS NULL THEN name END DESC;
name year
A 2013
B 2013
A 2014
Z null
W null
V null
SELECT *
FROM t
ORDER BY year IS NULL,
year,
CASE WHEN year IS NOT NULL THEN name END,
CASE WHEN year IS NULL THEN name END DESC;
name year
A 2013
B 2013
A 2014
Z null
W null
V null
SELECT *
FROM t
ORDER BY CASE WHEN year IS NOT NULL THEN 1 ELSE 2 END,
year,
CASE WHEN year IS NOT NULL THEN name END,
CASE WHEN year IS NULL THEN name END DESC;
name year
A 2013
B 2013
A 2014
Z null
W null
V null