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 `person` (
`id` INT(11) NULL DEFAULT NULL,
`country` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_bin',
`person` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_bin'
)
COLLATE='utf8_bin'
ENGINE=InnoDB
;

INSERT INTO `person` (`id`, `country`, `person`) VALUES
(1, 'Austria', 'Sue'),
(2, 'Austria', 'Anie'),
(3, 'Australia', 'John'),
(4, 'Australia', 'Brian'),
(5, 'UK', 'Jim'),
(6, 'UK', 'Tim'),
(7, 'USA', 'David'),
(8, 'USA', 'Mike'),
(9, 'USA', 'Tom'),
(10, 'N. Korea', 'Joe'),
(11, 'N. Korea', 'Hue'),
(12, 'N. Korea', 'Rick'),
(13, 'N. Korea', 'Jamy'),
(14, 'Finland', 'Kimi');
SELECT co.id, co.person, co.country,
(
SELECT COUNT(*)
FROM person ci
WHERE co.country = ci.country -- controlling grouping column
AND co.id < ci.id -- controlling min or max
) AS higher_ids
FROM person co
id person country higher_ids
1 Sue Austria 1
2 Anie Austria 0
3 John Australia 1
4 Brian Australia 0
5 Jim UK 1
6 Tim UK 0
7 David USA 2
8 Mike USA 1
9 Tom USA 0
10 Joe N. Korea 3
11 Hue N. Korea 2
12 Rick N. Korea 1
13 Jamy N. Korea 0
14 Kimi Finland 0