第三题如何解答?
我只能写下如下语句,但是没有的得到ID,花名,因为这两个字段聚合下可能存在多个值,百度说用any_value(),但是不是最大花瓣数的ID,花名。
如果是mysql 8.0以上,可以用开窗函数row_number进行分组排序
select fid,name,angs,color,ct from (
select f.*,ifnull(s.angs,0) angs,
row_number() over (partition by color order by ifnull(s.angs,0) desc) rn,
count(1) over (partition by color ) ct
from flower f left join shape s on f.fid=s.fid)
where rn=1
group by having
可以对你分组后的数据进行过滤。