0
我简化了mysql的值并给出了值。在这种master_course_id值应该来替代地等所需输出用替代索引值获取mysql值
数据库值
master_course_id register_number
1 A1
1 A2
1 A3
2 B1
2 B2
2 B3
3 C1
3 C2
3 C3
4 D1
4 D2
4 D3
5 E1
5 E2
5 E3
电流输出
master_course_id register_number
1 A1
2 B1
3 C1
4 D1
5 E1
1 A2
2 B2
3 C2
4 D2
5 E2
1 A3
2 B3
3 C3
4 D3
5 E3
所需的输出
master_course_id register_number
1 A1
2 B1
1 A2
2 B2
1 A3
2 B3
3 C1
4 D1
3 C2
4 D2
3 C3
4 D3
5 E1
5 E2
5 E3
MySQL查询
SELECT register_number
FROM (
SELECT master_course_id, register_number,
@position := IF(master_course_id = @prev_course, @position+1, 1) AS position,
@prev_course := master_course_id
FROM (SELECT * FROM master
WHERE master_course_id IN ('1', '2', '3', '4', '5')
ORDER BY master_course_id, register_number) AS m,
CROSS JOIN (SELECT @position := 0, @prev_course := null) AS vars
) AS t
ORDER BY position, master_course_id
COURSE_ID 1和2应替代地来首先,如果任一个ID完成意味着它应该移动到下一个ID 3或4同样地,直到结束它应该循环。这意味着course_id或者如何在mysql中实现这个目标
HII我努力我会更新 –
采取的想法从这个 –