mysql count多个表

由于之前没有怎么接触多表查询今天搞了很久才干掉这个问题,做个记录。

现在有三张表,这三张表没有关联。要统计三个表的行数。

SELECT COUNT(id) FROM (
SELECT id,name FROM psm_lesson
WHERE 1=1
<if test="name != null">
    AND
    psm_lesson.name like CONCAT('%', #{name}, '%')
</if>
UNION ALL
SELECT id,service_title FROM psm_service_center
WHERE 1=1
<if test="name != null">
    AND
    psm_service_center.service_title like CONCAT('%', #{name}, '%')
</if>
UNION ALL
SELECT id,name FROM psm_content
WHERE 1=1
<if test="name != null">
    AND
    psm_content.name like CONCAT('%', #{name}, '%')
</if>
 ) AS p
注意:1.union需要几个表查询的字段数要相同,所以只查需要的字段就好了。

2.在最后要sa一个别名 虽然没啥用但是必须的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值