0
我有一个包含一个包含三个子查询的查询:结合多个MySQL子查询到一个
select
*,
(select count(*) from v2_page_views left join v2_pages on v2_page_views.pageID=v2_pages.pageID where v2_page_views.siteID=1 and userID=v2_users.userID and pageTemperature=0) cold,
(select count(*) from v2_page_views left join v2_pages on v2_page_views.pageID=v2_pages.pageID where v2_page_views.siteID=1 and userID=v2_users.userID and pageTemperature=1) warm,
(select count(*) from v2_page_views left join v2_pages on v2_page_views.pageID=v2_pages.pageID where v2_page_views.siteID=1 and userID=v2_users.userID and pageTemperature=2) hot
from v2_page_views
left join v2_users on v2_page_views.userID=v2_users.userID
我试图提高速度和它看起来像三个子查询组合成一个会是个好理念。
我的问题是,我不确定是否有可能从单个子查询输出多个值......以及如何去编写单个查询。我怀疑这将涉及IF
,CASE
和WHEN
,但我不确定......
请发表SHOW CREATE TABLE语句和一些示例数据,这将使我们能够帮助您 – FMashiro
我不相信您需要任何子查询。只有一个加入条件聚合。 –