关于SQL简单用法的记录

问题背景

存在下图所示的需求
这里写图片描述
需要根据所选择的组别进行后台数据的筛选。

其实如果没有所有组的情况下 其实这个SQL很简单

select id from a_table where group = 'xx';

但是问题就在于所有组的处理,如果选择了所有组的情况下这个时候group 这个条件其实相当于就不需要了。

解决方案

上述的问题 当然如果你不嫌麻烦完全可以如果if条件写两条sql来完成,当然我们还是需要有点追求的吧。
这里就需要用到sql的IF的判断了

以下是用nodejs的mysql库进行书写

mysql.format(`select id from a_table where IF(? = '-1', 1=1, group = ?)`, [group, group]);

上述sql的意思即为 如果group为-1也就是所有组的情况下 where的条件为 1=1, 只有在选择其他组的情况下 才会有group = ?的sql.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值