mysql中update case when的使用


    set @beginTime='2019-12-07 00:00:00';
  set @endTime='2020-01-05 23:59:59';

update users_jianfu as a inner join (select user_id,user_order_num from user_orders_last30days_temp order by user_id asc  limit 850000,10000) as b  on a.user_id=b.user_id

set a.activity_id=(
case 
when a.register_time<@beginTime  and b.user_order_num>=1 and  b.user_order_num<=3 then 10
when a.register_time<@beginTime  and b.user_order_num>3 then 20
when a.register_time>=@beginTime and a.register_time<=@endTime then 30
else 0 
end
)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLUPDATE语句可以使用CASE WHEN语句来实现根据条件更新多条记录的功能。具体的用法如下: UPDATE 表名 SET 字段名 = CASE WHEN 条件1 THEN 值1 WHEN 条件2 THEN 值2 ELSE 值3 END WHERE 条件; 其,表名是要更新的表的名称,字段名是要更新的字段的名称,条件是要满足的条件,值是要更新的值。CASE WHEN语句根据不同的条件来设置不同的值。 举个例子,假设我们有一个名为students的表,它有三个字段id、name和age。我们要更新id为1、2和3的学生的年龄为20岁,可以使用以下的UPDATE语句: UPDATE students SET age = CASE WHEN id = 1 THEN 20 WHEN id = 2 THEN 20 WHEN id = 3 THEN 20 END WHERE id IN (1, 2, 3); 这个语句会将id为1、2和3的学生的年龄都更新为20岁。注意,在这个例子,如果id不是1、2或3,那么年龄字段将不会被更新。 综上所述,通过使用CASE WHEN语句,我们可以在MySQLUPDATE语句实现根据条件更新多条记录的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例](https://blog.csdn.net/davis_1234/article/details/101886946)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值