У меня есть вид с некоторыми объединениями. Я делаю выбор из этого представления с COUNT (*) в качестве одного из столбцов выбора. Я удивлен числом, которое это возвращает. Обратите внимание, что в исходном представлении нет ни оператора BY BY, ни оператора статистического столбца, из которого рисуется запрос.
Как я могу разобрать его, чтобы увидеть, как он приходит к этому номеру? У меня есть три столбца в предложении GROUP BY
.
SELECT column1, column2, column3, COUNT(*) FROM View GROUP BY column1, column2, column3
Я получаю результат как
+---------+---------+---------+----------+
| column1 | column2 | column3 | COUNT(*) |
+---------+---------+---------+----------+
| value1 | valueA | value_a | 103 |
+---------+---------+---------+----------+
| value2 | valueB | value_b | 56 |
+---------+---------+---------+----------+
etc.
Я бы хотел посмотреть, как он достигнет этих 103, 26 и т. Д. Другими словами, я хочу выполнить запрос, который возвращает 103 строки чего-либо, чтобы я знал, что я правильно сформулировал запрос. Я дважды проверяю свою работу.
Я не говорю, что я думаю, что COUNT (*) не работает (я знаю, что «SELECT не сломан»), то, что я хочу перепроверить, это именно то, что я выражаю в своем запросе, потому что Я думаю, что я выразил неправильную вещь, поэтому я получаю неожиданные значения. Мне нужно увидеть больше того, что я на самом деле указываю MySQL на счет.
Так я должен взять их один за другим и опробовать каждое значение в предложении WHERE? Другими словами, я должен сделать
SELECT column1 FROM View WHERE column1 = 'first_grouped_value'
SELECT column1 FROM View WHERE column1 = 'second_grouped_value'
SELECT column2 FROM View WHERE column1 = 'first_grouped_value'
SELECT column2 FROM View WHERE column1 = 'second_grouped_value'
и видите, что возвращаемое количество строк соответствует значению COUNT(*)
в сгруппированных результатах?
Из-за конфиденциальности я не смогу опубликовать ни один запрос или структуру базы данных. Все, что я прошу, - это общая техника, чтобы увидеть, что на самом деле рассчитывает COUNT (*).