with 定义变量
with pow(2, 3) as res
select pow(res, 2);
with 1 as num
select 2 + num;
with 调用函数
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a535fda482ac0643c5a802b51e7027e3.png)
select uid,
count(1) as cnt,
sum(total_amount) as final_amount
from tb_orders_base
group by uid;
with
count(1) as cnt,
sum(total_amount) as final_amount
select uid,
cnt,
final_amount
from tb_orders_base
group by uid;
with 子查询
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a535fda482ac0643c5a802b51e7027e3.png)
with t1 as (
select uid,
total_amount,
dt
from tb_orders_base
)
select uid,
dt,
sum(total_amount)
from t1
group by uid, dt;
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/10b851eb5a6aec73a238c5e71931e9ec.png)
with (
select uid,
ctime
from tb_orders_base
where ctime = '2024-03-13 21:29:24'
and uid = '1'
) as a
select *
from tb_orders_base
where (uid, ctime) = a;
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3db3af8f0b175abf4e3e239a2eb6c455.png)