Sử dụng:
SELECT x.client_id,
x.project_id,
x.project_name
FROM (SELECT t.client_id,
t.project_id,
t.project_name,
CASE
WHEN @client_id != t.client_id THEN @rownum := 0
WHEN @client_id = t.client_id THEN @rownum := @rownum + 1
ELSE @rownum
END AS rank,
@client_id := t.client_id
FROM TABLE t,
(SELECT @rownum := 0, @client_id
ORDER BY t.client_id) r) x
ORDER BY x.rank, x.client_id
MySQL không có bất kỳ chức năng xếp hạng nào, nhưng may mắn là bạn có thể sử dụng các biến. Chìa khóa là đặt lại giá trị @rownum khi client_id không khớp với client_id trước đó - ORDER BY trong truy vấn con là để đảm bảo rằng các client là theo thứ tự.