如何从标签列表的标签栏中准确选择标签?
如何从标签列表的标签栏中准确选择标签?
例如,下面是使用查询创建的表,但是我想缩小搜索范围,
page_id tags
1 tile-1,tile-12,tile-10
2 tile-1,tile-10
3 tile-12,tile-10
4 tile-15,tile-16
我想要的结果是仅包含 tile-1
的页面,
page_id tags
1 tile-1,tile-12,tile-10
2 tile-1,tile-10
但是我正在处理的查询返回所有这些,包括 tile-12
、tile-10
等。
SELECT*
FROM (...) AS k
WHERE k.tags LIKE '%tile-1%'
我可以不使用 LIKE
吗?
How can I select the tag accurately from the tag column with the list of tag?
For instance below is table created using a query, but then I want to narrow down my search,
page_id tags
1 tile-1,tile-12,tile-10
2 tile-1,tile-10
3 tile-12,tile-10
4 tile-15,tile-16
the result I am after is the pages with tile-1
only,
page_id tags
1 tile-1,tile-12,tile-10
2 tile-1,tile-10
But the query I am working on below returns all of them, including, tile-12
, tile-10
, etc.
SELECT*
FROM (...) AS k
WHERE k.tags LIKE '%tile-1%'
May I should not use LIKE
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议将架构更改为 page_id, tag。这样你的数据应该看起来像这样
然后你可以通过一个简单的查询来完成所有这些,
这样你就不必搜索表(表扫描) - 一旦表有更多行(可扩展的解决方案),这将成为一个问题。
其次,您可以在标签列上使用索引,以使搜索速度超快。
I suggest to change schema to page_id, tag. so that your data should look like this
Then you can do all this with a simple query,
This way you do not have to search through the table (table scans) - which will become an issue once table has more rows (scalable solution).
Second you can use index on the tag column, to make searches super fast.
由于您使用逗号作为分隔符,因此您的
LIKE
语句必须包含逗号:Since you're using comma as the delimiter, your
LIKE
-statement would have to include the comma: