Db2 Developer-C 11.1
Firebird 3.0
MariaDB 10.2 (unavailable)
MariaDB 10.3
MariaDB 10.4
MariaDB 10.5
MariaDB 10.6
MySQL 5.5
MySQL 5.6
MySQL 5.7
MySQL 8.0
Oracle 11g Release 2
Oracle 18c
Oracle 21c
Postgres 8.4 (unavailable)
Postgres 9.4 (unavailable)
Postgres 9.5
Postgres 9.6
Postgres 10
Postgres 11
Postgres 12
Postgres 13
Postgres 14
SQLite 3.8 (unavailable)
SQLite 3.16 (unavailable)
SQLite 3.27
SQL Server 2012 (unavailable)
SQL Server 2014
SQL Server 2016
SQL Server 2017
SQL Server 2017 (Linux)
SQL Server 2019
SQL Server 2019 (Linux)
YugabyteDB 2.6
YugabyteDB 2.8
Db2 Developer-C 11.1
Firebird 3.0
MariaDB 10.2 (unavailable)
MariaDB 10.3
MariaDB 10.4
MariaDB 10.5
MariaDB 10.6
MySQL 5.5
MySQL 5.6
MySQL 5.7
MySQL 8.0
Node.js 18
Oracle 11g Release 2
Oracle 18c
Oracle 21c
Postgres 8.4 (unavailable)
Postgres 9.4 (unavailable)
Postgres 9.5
Postgres 9.6
Postgres 10
Postgres 11
Postgres 12
Postgres 13
Postgres 14
SQLite 3.16 (unavailable)
SQLite 3.27
SQLite 3.8 (unavailable)
SQL Server 2012 (unavailable)
SQL Server 2014
SQL Server 2016
SQL Server 2017
SQL Server 2017 (Linux)
SQL Server 2019
SQL Server 2019 (Linux)
YugabyteDB 2.6
YugabyteDB 2.8
No sample DB
Sakila
run
clear
markdown
help
best fiddles
feedback
Fiddle Statistics
MySQL 8.0
SQLite 3.27
Oracle 18c
Firebird 3.0
MariaDB 10.4
MySQL 5.7
MySQL 5.6
MySQL 5.5
MariaDB 10.3
Db2 Developer-C 11.1
SQL Server 2014
SQL Server 2016
SQL Server 2017
SQL Server 2017 (Linux)
SQL Server 2019 (Linux)
SQL Server 2019
YugabyteDB 2.8
Oracle 21c
MariaDB 10.5
Oracle 11g Release 2
Node.js 18
MariaDB 10.6
YugabyteDB 2.6
Postgres 12
Postgres 9.5
Postgres 11
Postgres 10
Postgres 9.6
Postgres 13
Postgres 14
≡
clear
markdown
feedback
By using db<>fiddle, you agree to license everything you submit by
Creative Commons CC0
.
3601568 fiddles created (47976 in the last week).
CREATE TABLE table1 ( `id` INTEGER, `title` VARCHAR(18), `rank_index` VARCHAR(4) ); INSERT INTO table1 (`id`, `title`, `rank_index`) VALUES ('1', 'An awesome product', NULL), ('2', 'Another product', '3'), ('3', 'Baby car', NULL), ('4', 'Green carpet', '1'), ('5', 'Toy', NULL);
✓
✓
✓
✓
hidden batch(es)
SELECT t1.id, t1.`title`,t1.`rank_index` FROM table1 t1 CROSS JOIN ( SELECT MAX(id) maxid FROM table1) t2 ORDER BY IF(rank_index IS NULL, maxid - id + 1 , rank_index - 0.5) ASC
id
title
rank_index
4
Green carpet
1
5
Toy
2
Another product
3
3
Baby car
1
An awesome product
…
id
title
rank_index
4
Green carpet
1
5
Toy
2
Another product
3
3
Baby car
1
An awesome product
…
hidden batch(es)