查询出menupath字段中 出现 “- "(横杆)大于3次的 记录

表明为productclass    我想查询出menupath字段中 出现 “- "(横杆)大于3次的 记录

答:1 
select from productclass  where menupath  REGEXP ‘[[:digit:]]+-[[:digit:]]+-[[:digit:]]+-‘  这样就可以 不过不建议用正则查询出menupath字段中 出现 “- "(横杆)大于3次的 记录

2

select * from productclass   where length(menupath) - length(replace(menupath,‘-‘,‘‘))  >3

时间: 2024-10-22 20:04:14

查询出menupath字段中 出现 “- "(横杆)大于3次的 记录的相关文章

MySQL:如何查询出每个分组中的 top n 条记录?

问题描述 需求: 查询出每月 order_amount(订单金额) 排行前3的记录. 例如对于2019-02,查询结果中就应该是这3条: 解决方法 MySQL 5.7 和 MySQL 8.0 有不同的处理方法. 1. MySQL 5.7 我们先写一个查询语句. 根据 order_date 中的年.月,和order_amount进行降序排列. 然后,添加一个新列:order_amount(本条记录在本月中的名次). 执行结果: 可以看到,根据年.月.订单金额排序了,还多了一列order_rank,

MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法

首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产

实现多条件查询 匹配数据库字段中多个数据

select 'T.SYMPTOM like ' || ' or '|| REPLACE( '''%' ||REPLACE ( REPLACE( '1,2,4' , ',' , ',''%'), ',''' ,',''' )||'%''' , ',''', '%'' or T.SYMPTOM like ''' ) AS TH from dual; '1,2,4' 为要替换的字段值 T.SYMPTOM 为对应表 中 需要匹配的列 测试过 需要配合将字符串转成可执行的sql语句函数使用,否则在数据库

一个用户具有多个角色,请查询出改表中具有该用户的所有角色的其他用户

DROP TABLE IF EXISTS `emp`; CREATE TABLE `emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `number` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `role` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) : INSERT INTO `emp` VALUES (1,1001,'a','read

查询出某个字段属于哪些表

SQL Server写法 select [name] from sysobjects where id in(select id from syscolumns Where name='StudentID') Oracle写法 select TABLE_NAME from SYS.USER_CONS_COLUMNS where COLUMN_NAME ='StudentID'

【MySQL】MySQL中查询出数据表中存在重复的值

select serial_num,count(*) as count FROM card_ticket GROUP BY serial_num HAVING count >1 参考 https://www.cnblogs.com/xuzhengzong/p/9877248.html 原文地址:https://www.cnblogs.com/jing-yan/p/12598853.html

统计solr multivalued 字段中数目

问题是这样的:已有若干multivalued 字段, 需要统计出 multivalued 字段中数目. 比如 *DOC1* <doc> <arr name="multi"> <str>1</str> </arr> </doc> ----------------------*DOC2* <doc> <arr name="multi"> <str>1</st

SqlServer查询出数据库中所有的表及其字段属性

代码如下所示: /********************************* SqlServer查询出数据库中所有的表及其字段属性 *********************************/ SELECT ( CASE WHEN a.colorder = 1 THEN d.name ELSE '' END ) AS 表名 ,--如果表名相同就返回空 a.colorder AS 字段序号 , a.name AS 字段名 , ( CASE WHEN COLUMNPROPERTY(a

【转】一个SQL查询出每门课程的成绩都大于80的学生姓名

name   kecheng    fenshu 张三     语文     81张三     数学     75李四     语文     76李四     数学     90王五     语文     81王五     数学     100王五     英语     90 方法一: 思路:如果能获得一张表,由学生姓名,语文成绩,数学成绩,英语成绩的表,剩下的就是在WHERE条件中筛选及可以获得想要的结果. 具体办法:通过自连接的办法,以“姓名”为连接条件,自连接三次,便可以获得包含又姓名和三