Допустим, у меня есть таблица вроде этого:граф повторяющиеся значения - помочь моему MySQL запрос мертв медленно
Id*|value
Для каждого Id
Я хочу, чтобы подсчитать, сколько раз соответствующая value
существует. Как и с этими данными выборки:
1, a
2, b
3, a
4, b
5, c
6, a
Я хочу:
1, a, 3
2, b, 2
3, a, 3
4, b, 2
5, c, 1
6, a, 3
Это то, что я прямо сейчас, и я считаю, что это работает, но он мертв медленно:
SELECT t1.Id, t1.value, COUNT(t2.value) FROM `table` AS t1
LEFT JOIN `table` AS t2 ON (t1.value = t2.value)
GROUP by t1.Id
В моей таблице собраны тысячи строк. Любое предложение о том, как улучшить эту производительность?
Ваш запрос тоже возвращается: 3, a, 1; 6, a, 1 и так далее ... peraphs медленный, потому что ваш результат неверен? –
Ваш комментарий не имеет смысла? – Muleskinner
Дорогой, вы написали свой результат, но некоторые кортежи не показывают. Поэтому я думаю, что вы подпрыгнули на некоторых из них. Таким образом, ваш запрос возвращает больше строк вашего аспектирования. –