这些查询可单独运作。如何将UNION编写为SUM所有结果?
SELECT SUM(players) FROM `tournament_players` FROM (
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p1_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p2_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p3_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p4_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
)
答案 0 :(得分:4)
您走在正确的轨道上,但附加了FROM
个关键字。试试这个:
SELECT SUM(players) FROM (
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p1_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p2_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p3_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players` FROM `tournament_players` WHERE `foursome_1_p4_name` IS NOT NULL AND `tournament` BETWEEN 13 AND 17 AND flight = '8 AM'
) `tournament players`
答案 1 :(得分:1)
听起来你只想要这个,将你的个人查询放在子查询中以获得sum()
:
SELECT SUM(players)
FROM
(
SELECT COUNT(*) as `players`
FROM `tournament_players`
WHERE `foursome_1_p1_name` IS NOT NULL
AND `tournament` BETWEEN 13 AND 17
AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players`
FROM `tournament_players`
WHERE `foursome_1_p2_name` IS NOT NULL
AND `tournament` BETWEEN 13 AND 17
AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players`
FROM `tournament_players`
WHERE `foursome_1_p3_name` IS NOT NULL
AND `tournament` BETWEEN 13 AND 17
AND flight = '8 AM'
UNION
SELECT COUNT(*) as `players`
FROM `tournament_players`
WHERE `foursome_1_p4_name` IS NOT NULL
AND `tournament` BETWEEN 13 AND 17
AND flight = '8 AM'
) x -- place your alias here