mysql 查询某一字段值不等于某个字符串的记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询某一字段值不等于某个字符串的记录相关的知识,希望对你有一定的参考价值。

我想查询name不等于李四的记录条数, SELECT COUNT(*) FROM t_user WHERE NAME != '李四' ,却只查出结果为 2条, 为什么 应该怎么写

参考技术A 你的记录集里只有2条呀,除了李四,或者也可以这样写
select * from t_user where name not in ('李四');
这样也可以查除了name是李四的总条数
select COUNT(*) from t_user where name not in ('李四');追问

我的意思是有什么方法 把 那个name为null的记录也查出来 ,not in 查出来也是2条

参考技术B

在数据库中空字符是不能直接用运算符来判断的。录入 null!=null 和 null=null 都是false。

你的语句调整为

SELECT COUNT(*) FROM t_user WHERE ifnull(NAME,'')!= '李四';
--或者
SELECT COUNT(*) FROM t_user WHERE (NAME!= '李四' or name is null);

参考技术C SELECT COUNT(*) FROM t_user WHERE NAME != '李四' or NAME is null本回答被提问者和网友采纳 参考技术D SELECT COUNT(*) FROM t_user WHERE NAME not like '李四' ,

mysql 一张表中如何查询某个字段最长值的那条记录?

案例; 表office
id="1", itemId="asdf1234",name="李四", officeId="1"
id="2", itemId="asdf123" name="李四", officeId='2'
id="3", itemId="asdf12" name="李四", officeId="3"

id="4" itemId="zxcv123" name="张三",officeId="1"
id="5" itemid="zxcv12" name="张三",officeId="2"
id="6" itemId = "zxcv1" name="张三",officeId="3"
。。等等

这是一张表的数据,里面有李四和张三分别出现了三次(后期可能会出现更多),officeId指的是部门,每个部门里都有同名的人。 我现在查出李四的itemid最长那条记录 就是id1
如何查询?如何写sql 同样的张三也是 以此类推 在线等。。
或者是在java里如何判断取出ItemId最长的那条记录

参考技术A 1、一般查询语句:SELECT `lcontent` FROM `caiji_ym_liuyan`
查询数据:
2、有些时候需要查询某个字段的长度为多少时候才显示数据:
SQL语句:SELECT `lcontent` FROM `caiji_ym_liuyan` where
length(lcontent)<=40
PS:在mysql中一个汉字等于3个字节,所以查询的时候需要转换一下
特别要注意的就时候对于字节的转换追问

您这个还是没解决到我的问题呢

参考技术B length(字段名)函数可找出记录中对应字段的长度,用这个函数就可以了。
select语句如下:
select * from office where name='李四' and length(itemid)=(select max(length(itemid)) from office)
这样就可以找出itemid最长的李四的记录了,当然了,没对记录的条数做限制,可能会有多条记录

以上是关于mysql 查询某一字段值不等于某个字符串的记录的主要内容,如果未能解决你的问题,请参考以下文章

SQL怎么查询出字段中等于某一个数字的记录?

es匹配不等于

MySQL怎么写存储过程查询某个表的某一条记录,并把这条记录的所有列名对应的值以json格式返回呢?

SQL如何根据一个字段的某个关键词的前面部分分组查询

pandas筛选dataframe数据:指定一个数据列的值不等于某个固定值,而且另外一个数据列的值大于某一阈值

在SQL中,如何查询某一字段中最大值的数据