By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table tbl (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
position varchar(16)
);
insert into tbl (position) values ('сапожник'),('сапожник'),('сапожник'),('сапожник'),('сапожник'),
('электрик'),('электрик'),('электрик'),
('сантехник'),('сантехник'),('сантехник'),('сантехник'),('сантехник'),('сантехник'),('сантехник')
;
Records: 15 Duplicates: 0 Warnings: 0
SELECT
position, count(1) AS n
FROM (
SELECT
position, row_number() OVER (PARTITION BY position) rn
FROM tbl
) t
GROUP BY position, (rn+1) div 2
;
position | n |
---|---|
сантехник | 2 |
сантехник | 2 |
сантехник | 2 |
сантехник | 1 |
сапожник | 2 |
сапожник | 2 |
сапожник | 1 |
электрик | 2 |
электрик | 1 |