php – MySQL:计算每个条目的LIKE匹配数
发布时间:2020-12-11 23:37:11 所属栏目:MySql教程 来源:网络整理
导读:我试着通过一个简单的例子来解释我的意思: 我有一个myprods这样的表: id | name1 galaxy s4 mini2 samsung galaxy s43 galaxy galaxy s34 iphone 4s5 apple iphone 4s 到目前为止我有这个查询: SELECT *FROM myprodsWHERE name LIKE "%samsung%" OR name
我试着通过一个简单的例子来解释我的意思: 我有一个myprods这样的表:
到目前为止我有这个查询:
我的查询结果是:
现在我不仅返回匹配的行,还返回命中数.如果其中一个LIKE-phrase适用于该行,那么ONE命中.因此,在这种情况下,我希望命中为0,1,2或3.这意味着:LIKE短语“%galaxy%”不应该被计为id = 3的两次命中,它只算作“命中”或“没有打”. 预期的结果现在是:
在高性能的mysql短语中可能吗? 提前致谢 最佳答案 在MySQL中,布尔表达式可以用作整数 – 0表示false,1表示true.所以,以下工作:
编辑: 如果是MySQL,您还可以将此查询表达为:
在此上下文中使用has是SQL扩展,在其他数据库中不起作用.但是,它允许查询引用列别名进行过滤,而不使用子查询. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |