tp操作mysql_tp 在tp中查询mysql中使用MySQL的函数if()等

在mysql 中:查询数据,通过if()判断可以对不符合要求的数据进行修改。如

select if(pdi,pid,10) as pid ,name from user; 这sql的意思是再查询的时候对 pid列进行判断,看他的值是否为真,如果非真,则返回个默认值10。

mysql中可以在count()中写很多判断操作如

select count(pid = 5 OR NULL) from user; 这条语句数判断pid等于5 的有多少条

81ef94e0bc949525366c5da61b29fc61.png

select count(distinct pid) from user; 这条语句数判断pid等于5 的有多少条

针对上面的sql在tp中如何通过Db类来写呢?

Db::table('user')->field('if(pdi,pid,10) as pid ,name')->limit(10)->select();

在count()中的OR操作ADN操作等都无法执行。(可能是我的姿势不对吧)

5fe6e306e7c03bf4162ef4a76d16c531.png

count的去重操作可以

Db::table('tp_ad')->count('distinct  pid');

针对列的操作我们可以在field中操作

可以看出来,大部分跟mysql的写法都没有差别。在mysql中咋写在tp中一样咋写。就是有可能不支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值