У меня есть база данных менеджеров фэнтезийного футбола и 15 игроков на каждой из своих команд. Я могу сделать следующее, чтобы перечислить все команды с «Робин Ван Перси».Получение суммы для каждого отдельного значения в базе данных
SELECT *
FROM `players`
WHERE MATCH(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15)
AGAINST ('Robin Van Persie' IN BOOLEAN MODE)
, и я могу это сделать, чтобы подсчитать, сколько есть «Робин Ван Перси» в нем (возвращается только номер).
SELECT count(*)
FROM `players`
WHERE MATCH(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15)
AGAINST ('Robin Van Persie' IN BOOLEAN MODE)
Но есть ли у меня способ получить список, похожий на этот?
Count | Player Name
-------------------------
62 | Robin Van Persie
12 | Wayne Rooney
22 | Michu
31 | Theo Walcott
Для каждого отдельного значения в базе данных?
Сначала вы должны нормализовать свою базу данных, чтобы у всех игроков была своя строка вместо столбца. –
Я никогда не делал нормализации, но в этой базе данных порядок важен. Например, p1-p11 - это настоящая команда, а p12-p15 - subs. Будет ли нормализация испорчена? Если это помогает, у меня есть отдельная база данных со всеми отдельными именами игроков. – Cully
Затем для каждого игрока добавьте свой индекс. –