Я задал этот вопрос до этого в этом разделе, пожалуйста, внимательно прочитайте его sql-print-many-word-between-every-columns-with-many-conditions
но разница между этим вопросом и предыдущим, что я хочу сделать коллективными игроками или группой игроков внутри многих имен клубов, например:
El Ahly У игроков клуба 12 я хочу разбить его на 3 teams, каждый team имеет 4 игроков, что я хочу подсчитать, сколько team внутри всех названий клубов
затем помещаем их в неизменяемые числа (группы) 4 8 16 32 64 128 256 на основе числа teams print **ANY WORD** между ними что-то вроде этого после данных фильтра с select full_name,club_name from players where y_of_birth=2000 желаемый вывод должен быть таким:
ОБНОВЛЕНО:
+----+------+---------------------+
| full_name | club_name |
+--------------+------------------+
| Ahmed Sayed | El Ahly |
+--------------+------------------+
| Kareem Gaber | El Ahly |
+--------------+------------------+
| Maher Zein | El Ahly |
+--------------+------------------+
| Mohab Saeed | El Ahly |
+----+------+--+------------------+
| ahmed shawky | Petroget |
+--------------+------------------+
| shaker ali | Petroget |
+--------------+------------------+
| omar Saed | Petroget |
+--------------+------------------+
| moataz Gamal | Petroget |
+------+-------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| husein mazen | Cocorico |
+--------------+------------------+
| hassan maged | Cocorico |
+--------------+------------------+
| maged ahmoud | Cocorico |
+--------------+------------------+
| zakareya gad | Cocorico |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
| gamel kamel | El Ahly |
+--------------+------------------+
| omar galal | El Ahly |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| khaled zein | Petroget |
+--------------+------------------+
| shady sameer | Petroget |
+--------------+------------------+
| wahed mahmoud| Petroget |
+--------------+------------------+
| samy shahen | Petroget |
+----+------+--+------------------+
| Mohamed gad | El Ahly |
+----+------+--+------------------+
| ehab zeyad | El Ahly |
+----+---------+------------------+
| moaz maged | El Ahly |
+--------------+------------------+
| mazen mahmod | El Ahly |
+--------------+------------------+
в этом примере есть 2 groups of **ANY WORD**, потому что его a 6 group и помещает их внутри 8 неизменяемой группы, которая найдена в 4 или 8 или 16 или 32 или 64 или 128 или 256... и не смежны между 2 **ANY WORD** или двумя соседними между club_name
Примеры:
4 игрока в качестве одного игрока
если результат после select full_name,club_name from players where y_of_birth=2000 равен 12 игрокам, это означает 12 players= 3 groups, потому что каждая группа имеет 4 игроков следующего шага print **ANY WORD** 4 раза (примечание: **ANY WORD** является одним из эти группы) между 3 группами, поэтому выход будет таким:
+----+------+---------------------+
| full_name | club_name |
+--------------+------------------+
| Ahmed Sayed | El Ahly |
+--------------+------------------+
| Kareem Gaber | El Ahly |
+--------------+------------------+
| Maher Zein | El Ahly |
+--------------+------------------+
| Mohab Saeed | El Ahly |
+----+------+--+------------------+
| ahmed shawky | Petroget |
+--------------+------------------+
| shaker ali | Petroget |
+--------------+------------------+
| omar Saed | Petroget |
+--------------+------------------+
| moataz Gamal | Petroget |
+------+-------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
| gamel kamel | El Ahly |
+--------------+------------------+
| omar galal | El Ahly |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
Вывод:
4 8 16 32 64 128 256 являются неизменяемыми группами
group 4 должен заполнить 16 игроков **ANY WORD** без смежного между ними что-то вроде этого:
+----+------+---------------------+
| full_name | club_name |
+--------------+------------------+
| Ahmed Sayed | El Ahly |
+--------------+------------------+
| Kareem Gaber | El Ahly |
+--------------+------------------+
| Maher Zein | El Ahly |
+--------------+------------------+
| Mohab Saeed | El Ahly |
+----+------+--+------------------+
| ahmed shawky | Petroget |
+--------------+------------------+
| shaker ali | Petroget |
+--------------+------------------+
| omar Saed | Petroget |
+--------------+------------------+
| moataz Gamal | Petroget |
+------+-------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
| gamel kamel | El Ahly |
+--------------+------------------+
| omar galal | El Ahly |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
group 8 должен заполнить 32 игроков **ANY WORD** без смежного между ними что-то вроде этого:
+----+------+---------------------+
| full_name | club_name |
+--------------+------------------+
| Ahmed Sayed | El Ahly |
+--------------+------------------+
| Kareem Gaber | El Ahly |
+--------------+------------------+
| Maher Zein | El Ahly |
+--------------+------------------+
| Mohab Saeed | El Ahly |
+----+------+--+------------------+
| ahmed shawky | Petroget |
+--------------+------------------+
| shaker ali | Petroget |
+--------------+------------------+
| omar Saed | Petroget |
+--------------+------------------+
| moataz Gamal | Petroget |
+------+-------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| husein mazen | Cocorico |
+--------------+------------------+
| hassan maged | Cocorico |
+--------------+------------------+
| maged ahmoud | Cocorico |
+--------------+------------------+
| zakareya gad | Cocorico |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
| gamel kamel | El Ahly |
+--------------+------------------+
| omar galal | El Ahly |
+--------------+------------------+
| Kamal saber | El Ahly |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| **ANY WORD** | |
+--------------+------------------+
| khaled zein | Petroget |
+--------------+------------------+
| shady sameer | Petroget |
+--------------+------------------+
| wahed mahmoud| Petroget |
+--------------+------------------+
| samy shahen | Petroget |
+----+------+--+------------------+
| Mohamed gad | El Ahly |
+----+------+--+------------------+
| ehab zeyad | El Ahly |
+----+---------+------------------+
| moaz maged | El Ahly |
+--------------+------------------+
| mazen mahmod | El Ahly |
+--------------+------------------+
и т.д. с помощью
group 16
group 32
group 64
group 128
group 256
EDITED:
У меня есть этот запрос от Gordon Linoff
select p.*
from (select p.*,
(@rn := if(@c = club_name, @rn + 1,
if(@c := club_name, 1, 1)
)
) as seqnum
from players p cross join
(select @c := '', @rn := 0) params
order by club_name
) p
order by floor((seqnum - 1) / 4), club_name
после объединения с данными:
select p.*
from (select p.full_name,club_name,
(@rn := if(@c = club_name, @rn + 1,
if(@c := club_name, 1, 1)
)
) as seqnum
from players p cross join
(select @c := '', @rn := 0) params WHERE `y_of_birth` LIKE N'%2000%'
order by club_name
) p
order by floor((seqnum - 1) / 4), club_name
выводьте что-то вроде этого:
+----+------+---------------------+
| full_name | club_name |
+--------------+------------------+
| Ahmed Sayed | El Ahly |
+--------------+------------------+
| Kareem Gaber | El Ahly |
+--------------+------------------+
| Maher Zein | El Ahly |
+--------------+------------------+
| Mohab Saeed | El Ahly |
+----+------+--+------------------+
| kamal mado | Cocorico |
+--------------+------------------+
| hossam magdy | Cocorico |
+--------------+------------------+
| sayed ammar | Cocorico |
+--------------+------------------+
| karem gad | Cocorico |
+--------------+------------------+
| Mohamed gad | El Ahly |
+----+------+--+------------------+
| ehab zeyad | El Ahly |
+----+---------+------------------+
| moaz maged | El Ahly |
+--------------+------------------+
| mazen mahmod | El Ahly |
+--------------+------------------+
| shaker ali | Petroget |
+--------------+------------------+
| omar Saed | Petroget |
+--------------+------------------+
| moataz Gamal | Petroget |
+--------------+------------------+
| gamael zayed | Petroget |
+--------------+------------------+
| husein mazen | Cocorico |
+--------------+------------------+
| mazen kamal | Cocorico |
+--------------+------------------+
| maged ahmoud | Cocorico |
+--------------+------------------+
| mesho kareem | Cocorico |
+--------------+------------------+
| mano mazen | Petroget |
+--------------+------------------+
| shady srour | Petroget |
+--------------+------------------+
| mamdouh gamal| Petroget |
+--------------+------------------+
| khaled zein | Petroget |
+--------------+------------------+
| husein mazen | Cocorico |
+--------------+------------------+
| hassan maged | Cocorico |
+--------------+------------------+
| maged ahmoud | Cocorico |
+--------------+------------------+
| zakareya gad | Cocorico |
+--------------+------------------+
| shady sameer | Petroget |
+--------------+------------------+
| wahed mahmoud| Petroget |
+--------------+------------------+
| samy shahen | Petroget |
+----+------+--+------------------+
| abdo samy | Petroget |
+----+------+--+------------------+
любая помощь будет оценена!