SELECT COUNT(*) FROM (
SELECT 1 FROM ...
UNION SELECT 1 FROM ...
UNION SELECT 1 FROM ...
) as tmp_table
尽管结果集包括多行,
COUNT(*)
总是会返回 1...为什么? 最佳答案
UNION SELECT
自动对您的结果进行分组,这意味着您不会看到重复的行。您需要的是 UNION ALL SELECT...
,那么您的结果将不会被分组,您将看到重复的行。
重复行的意思,因为你总是选择 1,所以它按 1 分组。