@chelovek_rediska

Как исправить неверный подсчет строк в MySQL?

Есть несколько таблиц в которых в общей сумме 12 строк
5901ced7bd5a416f9bf1f3109eb08711.PNG

Чтобы получить число, я создал процедуру:
BEGIN
SELECT sum(cnt) as 'Всего записей' from ( 
		    select count(*) as cnt from xx
	UNION select count(*) as cnt from visa 
	UNION select count(*) as cnt from xvii
	UNION select count(*) as cnt from xviii 
	UNION select count(*) as cnt from xix 
	UNION select count(*) as cnt from states
	UNION select count(*) as cnt from xxi) as t;
END


Без таблицы info в итоге должно быть 11 строк, но процедура выводит только значение 7. Всё таблицы имеют одинаковые поля
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
UNION по умолчанию выполняется как DISTINCT, то есть в результирующей таблице будут только уникальные строки, вместо трёх двоек будет включена только одна. Замените UNION на UNION ALL.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы