MySQL选择数组值介于最小值和最大值之间的行

时间:2013-11-13 18:34:05

标签: mysql sql arrays denormalized

我有这个问题,我被困在......

我有一个像数组的字段,值由空格分隔。 假设我们有这些价值观:

v1: "100 150 200 300"
v2: "50 100"
V3: "130 230 415"
v4: "340 500 600"
...

然后我有两个用户输入值,如min和max,比方说120和300。 我需要从表中选择mysql所有具有这些min和max

之间的数组值的行

所以输出应该是上一个例子中的v1和v3。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我完全同意评论说这是一个糟糕的设计,但我认为这可以通过一个函数来解决,该函数将数组拆分为各自的值,并与APPLY结合使用。

然后应该产生类似

的表格

v1 100

v1 150

v2 50

v2 100

从那里问题应该很容易。

答案 1 :(得分:-1)

我会检查这个帖子Split value from one field to two

或者拉回数据并使用服务器端代码将值拆分为数组,然后进行比较。