Mysql在一列中搜索文本

时间:2014-10-22 15:36:07

标签: mysql search text

例如我们的表格;

ID -------- ---------价格等级
1 ------ 100-300 ------ 1,2
2 --------- 200 ---------- 1
3 ------ 100-280 -------- 1,3

我们希望搜索价格值为110. 110介于100-300和100-280之间,因此必须列出id 1和id 2。我们可以用my-sql写这个查询吗?。

另外,我们想要搜索价格和等级值。价格110和2级搜索。我们可以用my-sql写这个查询吗?。

谢谢

2 个答案:

答案 0 :(得分:0)

使用两列价格......

ID  FROM     TO  LEVEL
1    100    300  1,2
2    200    200  1
3    100    280  1,3

然后SQL:

SELECT `level` FROM `table`
WHERE X >= `from` AND X <= `to`

答案 1 :(得分:0)

请记住,应该创建数据库表,使其满足您的查询需求。有一个价格为“100-300”的表代表一个字符串(或在mysql中为VARCHAR)没有意义,你想把它当作一个数字。那该怎么办?

1)我要做的第一件事是重新编写具有minPrice和maxPrice字段的表模式,这样你就可以拥有这个:

İd----minPrice---maxPrice------level
1 ------100---------300 ------ 1,2
2 ------200---------200----------1
3 ------100---------280--------1,3

2)然后你的查询就像:

SELECT id FROM Mytable x WHERE myValue >=  x.minPrice AND myValue <= x.maxPrice

3)如果您还想查找级别值。你会这样做:

SELECT id FROM Mytable x WHERE myValue >=  x.minPrice AND myValue <= x.maxPrice AND myLevelValue IN (x.level)