gpt4 book ai didi

MySQL 子查询返回多行

转载 作者:行者123 更新时间:2023-11-29 18:45:07 26 4
gpt4 key购买 nike

SELECT CONCAT(MONTH(revenue_date),"/ ", YEAR(revenue_date)) as month_year, 

(SELECT COUNT(DISTINCT DATE(delivery_date)) as operating_days
FROM table2 where weekday(delivery_date) <> 5 and
weekday(delivery_date) <> 6 and delivery_date < current_time and
year(delivery_date) > 2015 GROUP BY YEAR(delivery_date), MONTH(delivery_date)),
sum(revenue) as total_revenue,
from table1
where revenue_date < current_time and year(revenue_date) > 2015
group by year(revenue_date), month(revenue_date);

这显示错误“子查询返回超过 1 个值”。如果我不在子查询中包含 group by ,它只会返回所有月份的总计,但我需要它单独返回所有月份。

最佳答案

试试这个:

SELECT CONCAT(MONTH(revenue_date),"/ ", YEAR(revenue_date)) as month_year, a.operating_days
sum(revenue) as total_revenue,
from table2 JOIN
(SELECT YEAR(delivery_date) as `year`, MONTH(delivery_date) as `month`, COUNT(DISTINCT DATE(delivery_date)) as operating_days
FROM table2 where weekday(delivery_date) <> 5 and
weekday(delivery_date) <> 6 and delivery_date < current_time and
year(delivery_date) > 2015 GROUP BY YEAR(delivery_date), MONTH(delivery_date)) a
ON year(revenue_date) = a.year AND month(revenue_date) = a.month
where revenue_date < current_time and year(revenue_date) > 2015
group by year(revenue_date), month(revenue_date);

关于MySQL 子查询返回多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44707918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com