mysql 查询语句报 Every derived table must have its own alias

今天看到一条 sql 查了 1w 多条数据, 然后使用代码做了计算分组后最大 id 的逻辑. 想着优化下, 然后 sql 执行报 Every derived table must have its own alias

这表示子查询需要命名别名才行
例如 from (select * from table2) a 这种, 别名 a 是必要的, 否则报错

之后正确的 sql

-- 264 rows in set (0.05 sec)
select c.id as historyId, c.extract_job_id as packageId, b.package_name as packageName, b.reload_package as reloadPackage from t_ups_rule_apply_info b 
    inner join ( select  id, extract_job_id from  t_extract_history a where a.job_status = "SUCCEEDED" 
        and a.extract_job_id in (
            select package_id  from t_ups_rule_apply_info where end_cron_date >= '2022-03-08 00:00:00') group by a.extract_job_id) c  -- 注意这里的别名 c, 如果没有则会报错
    on b.package_id = c.extract_job_id  
order by b.package_id desc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值