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.
select version();
version()
5.7.27
CREATE TABLE Table1
(`letters` varchar(1), `numbers` int)
;
INSERT INTO Table1
(`letters`, `numbers`)
VALUES
('a', 1),
('a', 2),
('a', 3),
('a', 4),
('b', 1),
('b', 2),
('b', 3),
('b', 4),
('c', 1),
('c', 2),
('c', 3),
('c', 4),
('d', 1),
('d', 2),
('d', 3),
('d', 4)
;

SELECT `numbers`,`letters` FROM
(SELECT `numbers`,
@curRank := @curRank + 1 AS rank
FROM Table1 t, (SELECT @curRank := 0) r
GROUP By `numbers`
ORDER BY `numbers`) NB1
INNER JOIN
(SELECT `letters`,
@curRank1 := @curRank1 + 1 AS rank
FROM (
Select `letters` FROM Table1 t
GROUP By `letters`) t2, (SELECT @curRank1 := 0) r
ORDER BY `letters`) LT1 ON NB1.rank = LT1.rank;

numbers letters
1 a
2 b
3 c
4 d
SELECT `letters`,
@curRank1 := @curRank1 + 1 AS rank
FROM (
Select `letters` FROM Table1 t
GROUP By `letters`) t2, (SELECT @curRank1 := 0) r
ORDER BY `letters`
letters rank
a 1
b 2
c 3
d 4
SHOW GLOBAL VARIABLES Like '%sql_mode%';
Variable_name Value
sql_mode ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
SELECT `numbers`,
@curRank := @curRank + 1 AS rank
FROM Table1 t, (SELECT @curRank := 0) r
GROUP By `numbers`
ORDER BY `numbers`
numbers rank
1 1
2 2
3 3
4 4