例如我们的表格;
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写这个查询吗?。
谢谢
答案 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)