By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table post(
id int,
category_id int,
name varchar(20),
test varchar(255)
);
insert into post values
(1,1,'Иванов','Сообщение 1 категория 1'),
(2,1,'Петров','Сообщение 2 категория 1'),
(3,1,'Сидоров','Сообщение 3 категория 1'),
(4,1,'Иванов','Сообщение 4 категория 1'),
(5,1,'Петров','Сообщение 5 категория 1'),
(6,1,'Сидоров','Сообщение 6 категория 1'),
(7,1,'Иванов','Сообщение 7 категория 1'),
(8,1,'Петров','Сообщение 8 категория 1'),
(9,1,'Сидоров','Сообщение 9 категория 1'),
(10,1,'Иванов','Сообщение 10 категория 1'),
(11,1,'Петров','Сообщение 11 категория 1'),
(12,1,'Сидоров','Сообщение 12 категория 1'),
(13,1,'Иванов','Сообщение 13 категория 1'),
(14,1,'Петров','Сообщение 14 категория 1'),
(15,1,'Сидоров','Сообщение 15 категория 1'),
(16,2,'Иванов','Сообщение 16 категория 2'),
(17,2,'Петров','Сообщение 17 категория 2'),
(18,2,'Сидоров','Сообщение 18 категория 2'),
(19,2,'Иванов','Сообщение 19 категория 2'),
(20,2,'Петров','Сообщение 20 категория 2'),
(21,3,'Сидоров','Сообщение 21 категория 3'),
(22,3,'Иванов','Сообщение 22 категория 3'),
(23,3,'Петров','Сообщение 23 категория 3'),
(24,3,'Сидоров','Сообщение 24 категория 3'),
(25,3,'Иванов','Сообщение 25 категория 3'),
(26,3,'Петров','Сообщение 26 категория 3'),
(27,1,'Сидоров','Сообщение 27 категория 1'),
(28,1,'Иванов','Сообщение 28 категория 1'),
select name, test from (
select name, test from (select name, test from post where category_id=2 limit 0,4) t2
union
select name, test from (select name, test from post where category_id=3 limit 0,5) t3
union
select name, test from (select name, test from post where category_id=1 limit 0,18) t1
) t
limit 0,18
name | test |
---|---|
Иванов | Сообщение 16 категория 2 |
Петров | Сообщение 17 категория 2 |
Сидоров | Сообщение 18 категория 2 |
Иванов | Сообщение 19 категория 2 |
Сидоров | Сообщение 21 категория 3 |
Иванов | Сообщение 22 категория 3 |
Петров | Сообщение 23 категория 3 |
Сидоров | Сообщение 24 категория 3 |
Иванов | Сообщение 25 категория 3 |
Иванов | Сообщение 1 категория 1 |
Петров | Сообщение 2 категория 1 |
Сидоров | Сообщение 3 категория 1 |
Иванов | Сообщение 4 категория 1 |
Петров | Сообщение 5 категория 1 |
Сидоров | Сообщение 6 категория 1 |
Иванов | Сообщение 7 категория 1 |
Петров | Сообщение 8 категория 1 |
Сидоров | Сообщение 9 категория 1 |
delete from post where category_id = 2;
select name, test from (
select name, test from (select name, test from post where category_id=2 limit 0,4) t2
union
select name, test from (select name, test from post where category_id=3 limit 0,5) t3
union
select name, test from (select name, test from post where category_id=1 limit 0,18) t1
) t
limit 0,18
name | test |
---|---|
Сидоров | Сообщение 21 категория 3 |
Иванов | Сообщение 22 категория 3 |
Петров | Сообщение 23 категория 3 |
Сидоров | Сообщение 24 категория 3 |
Иванов | Сообщение 25 категория 3 |
Иванов | Сообщение 1 категория 1 |
Петров | Сообщение 2 категория 1 |
Сидоров | Сообщение 3 категория 1 |
Иванов | Сообщение 4 категория 1 |
Петров | Сообщение 5 категория 1 |
Сидоров | Сообщение 6 категория 1 |
Иванов | Сообщение 7 категория 1 |
Петров | Сообщение 8 категория 1 |
Сидоров | Сообщение 9 категория 1 |
Иванов | Сообщение 10 категория 1 |
Петров | Сообщение 11 категория 1 |
Сидоров | Сообщение 12 категория 1 |
Иванов | Сообщение 13 категория 1 |