Вот решение "старой школы" ...
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table
(id SERIAL PRIMARY KEY
,u INT NOT NULL
);
INSERT INTO my_table VALUES
(10,1),
(11,1),
(12,2),
(13,2),
(14,2),
(15,3),
(16,3),
(17,3),
(18,3),
(19,3),
(20,4),
(21,4),
(22,4),
(23,4),
(24,4),
(25,4),
(26,4),
(27,4),
(28,4),
(29,4);
SELECT id
, u
FROM
( SELECT x.*
, COUNT(*) running
FROM my_table x
JOIN my_table y
ON y.u = x.u
AND y.id <= x.id
GROUP
BY x.id
ORDER
BY running
, u
LIMIT 15
) a
ORDER
BY id;
+----+---+
| id | u |
+----+---+
| 10 | 1 |
| 11 | 1 |
| 12 | 2 |
| 13 | 2 |
| 14 | 2 |
| 15 | 3 |
| 16 | 3 |
| 17 | 3 |
| 18 | 3 |
| 19 | 3 |
| 20 | 4 |
| 21 | 4 |
| 22 | 4 |
| 23 | 4 |
| 24 | 4 |
+----+---+