mysql 一条数据若干个字段,有多少字段是可以用户实现业务的字段,筛选无效字段小于两个的数量

实现sql如下

SELECT
	count(*)
FROM
	building 
WHERE
	deleted = 0 
	AND 
	(	IF(area>2,0,1)+
	IF(CHAR_LENGTH(c_onstructor)>4,0,1)+
	IF(CHAR_LENGTH(c_onstructor_manager)>2,0,1)+
	IF(LENGTH(c_onstructor_manager_telephone)>4,0,1)+
	IF(CHAR_LENGTH(builder)>4,0,1)+
	IF(CHAR_LENGTH(supervisor)>4,0,1)+
	IF(CHAR_LENGTH(builder_manager)>2,0,1)+
	IF(LENGTH(builder_manager_telephone)>4,0,1)+
	IF(LENGTH(supervisor_manager_telephone)>4,0,1))<=2
  • 解析如下
IF(CHAR_LENGTH(c_onstructor)>4,0,1)

CHAR_LENGTH(c_onstructor)>4是对字段进行清洗,如果符合条件就是0不符合条件就是1,
最后把这些字段值加起来 无效字段的和小于等于2就可以使用

总结,对某一条数据筛选要放在where后

你可能感兴趣的:(mysql,算法,数据库)