tp5中对数据库操作一些灵活的需要自定义的功能

本文介绍了SQL中对字段进行复杂操作的方法,包括求和、计数、判断空值、截取字段、自定义排序及表内字段比较,是数据库管理和数据分析的重要技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、例:计算f表中money值的和,并赋予别名(where条件:change_type=2)

field('sum(if(f.change_type=2,f.money,0)) as consume_money')

2、例:统计s表有多少条数据,并赋予别名(where条件:status=1 and audit_status=1)

field('COUNT(IF(s.status=1 and s.audit_status=1,s.id,null)) as a')

3、判断selfad_id是不是null,是null返回0,不是返回selfad_id的值

field('ifnull(dcp.selfad_id,0) as ad_play')

4、截取一个查询出来的字段的值(截取查询出来的stat_hour字段里的值 别名time)

->field('substring(stat_hour,-2) as time')

5、自定义排序(此处根据sudit_status先排序,0在前,1排第二,其他第三,然后在根据create_time进行排序)

  ->orderRaw('case when w.audit_status="0" THEN 1 when w.audit_status="1" THEN 2 else 3 END,w.create_time desc')

6.TP5需要同表不同字段进行比较,使用whereExp方法

Db::name('user')->whereExp('aa','>= bb')->select();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值