如何过滤2列之间的数字组?

cha*_*han 6 mysql sql

我有一个表minmax列.我想搜索一组数字介于此范围min和之间的行max.

示例:我有一套(3, 4, 11, 18).

  1. 我的查询过滤可能看起来:

    (3 between min and max) OR
    (4 between min and max) OR
    (11 between min and max) OR
    (18 between min and max)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 但是我想知道是否有更好的方法:

    (3,4,11,12) between min and max
    
    Run Code Online (Sandbox Code Playgroud)

    这将与#1类似

我需要这个,因为该集可以在不同的搜索之间改变.任何帮助或建议表示赞赏.

更简单上下文中的表是类(classid,classname,minage,maxage).有成千上万的类 - 所以我得到web请求搜索具有特定年龄组的类,例如(3,4,11,12),其中用户正在搜索3岁,4岁,11岁和12岁的班级.

目前我的查询看起来:从类中选择*((最小和最大之间3)或(最小和最大之间4)或(最小和最大之间11)或(最小和最大之间18))

Joh*_*Woo 0

如果您可以通过发布表架构来添加更多信息,我们将能够为您提供更多帮助。但是,这个示例查询可以给您一些提示。

示例查询:

SELECT SampleValue, ColB, ColC FROM TableName WHERE SampleValue in (1,2,3)