Mysql 如何在sql中使用范围来获取价格范围?
我有一张结构如下的桌子 从该表中,我需要使用表中给出的范围来找到价格Mysql 如何在sql中使用范围来获取价格范围?,mysql,sql,oracle,Mysql,Sql,Oracle,我有一张结构如下的桌子 从该表中,我需要使用表中给出的范围来找到价格 ex: if i give the Footage_Range1=100 means it will give the output as 0.00 and if Footage_Range1=101 means the output is 2.66 if Footage_Range1=498 means the output is 2.66 如何编写查询以获取价格?如果我正确理解您的要求,您可以尝试以
ex:
if i give the Footage_Range1=100 means it will give the output as 0.00 and
if Footage_Range1=101 means the output is 2.66
if Footage_Range1=498 means the output is 2.66
如何编写查询以获取价格?如果我正确理解您的要求,您可以尝试以下方法:
SELECT
price
FROM
my_table
WHERE
Footage_Range1 <= YOUR_RANGE
ORDER BY
Footage_Range1 DESC
LIMIT 1
选择
价格
从…起
我的桌子
哪里
如果我正确理解您的要求,您可以尝试以下方法:
SELECT
price
FROM
my_table
WHERE
Footage_Range1 <= YOUR_RANGE
ORDER BY
Footage_Range1 DESC
LIMIT 1
选择
价格
从…起
我的桌子
哪里
镜头范围1请尝试以下代码。。
从您的价格表中选择价格,其中进尺范围1请在下面的代码中尝试。。
从您的价格表中选择价格,其中进尺范围1我有您需要的样品。请看一看
DECLARE @range INT = 498
DECLARE @Test TABLE(mfg_id INT, footage_range INT, price FLOAT)
INSERT INTO @Test ( mfg_id, footage_range, price )
SELECT 2, 0, 0.00
UNION ALL SELECT 2, 101, 2.66
UNION ALL SELECT 2, 500, 2.34
UNION ALL SELECT 2, 641, 2.21
UNION ALL SELECT 2, 800, 2.11
UNION ALL SELECT 2, 1250, 2.06
SELECT TOP 1
*
FROM @Test WHERE footage_range <= @range
ORDER BY footage_range DESC
DECLARE@range INT=498
声明@Test TABLE(制造id整数、进尺范围整数、价格浮动)
插入@Test(制造商id、进尺范围、价格)
选择2、0、0.00
联合所有选择2、101、2.66
联合所有选择2500,2.34
UNION ALL选择26412.21
联合所有选择2800,2.11
UNION ALL SELECT 21250,2.06
选择前1名
*
从@Test WHERE taines_range中,我有您需要的样品。请看一看
DECLARE @range INT = 498
DECLARE @Test TABLE(mfg_id INT, footage_range INT, price FLOAT)
INSERT INTO @Test ( mfg_id, footage_range, price )
SELECT 2, 0, 0.00
UNION ALL SELECT 2, 101, 2.66
UNION ALL SELECT 2, 500, 2.34
UNION ALL SELECT 2, 641, 2.21
UNION ALL SELECT 2, 800, 2.11
UNION ALL SELECT 2, 1250, 2.06
SELECT TOP 1
*
FROM @Test WHERE footage_range <= @range
ORDER BY footage_range DESC
DECLARE@range INT=498
声明@Test TABLE(制造id整数、进尺范围整数、价格浮动)
插入@Test(制造商id、进尺范围、价格)
选择2、0、0.00
联合所有选择2、101、2.66
联合所有选择2500,2.34
UNION ALL选择26412.21
联合所有选择2800,2.11
UNION ALL SELECT 21250,2.06
选择前1名
*
从@Test WHERE taines\u range哪里是表结构,输出是如何计算的?表结构在哪里,输出是如何计算的?这将返回多个值。哦…是的@L\u Holcombe u r right:)将修改我的帖子。Thanks@SeeSharp这里的orderby
对于获取范围输入小于或等于taines\u range 1的最接近价格至关重要。这将返回多个值。哎呀……耶@L\u Holcombe u r right:)将修改我的帖子。Thanks@SeeSharp这里的ORDER BY
对于获取范围输入小于或等于taines\u range 1的最接近价格至关重要,我已经尝试了您的代码,但如果我给出查询“从[taines\u price]中选择价格”如果taines\u Range1@JasperManickaraj您忘记了LIMIT 1
LIMIT 1在sql中无效。因此我将此查询放在“从[taines\u price]中选择top 1*”如果进尺范围1它应该返回价格:2.06因为进尺范围1TOP 1
应该只返回你1 rowhi@stephen我已经尝试了你的代码,但是如果我给出查询“从[进尺范围1]中选择价格,如果进尺范围1@JasperManickaraj你忘记了限制1
限制1在sql中无效。所以我提出了这个查询”从[Cutes\u price]中选择top 1*,其中Cutes\u Range1应返回价格:2.06,因为Cutes\u Range1top 1
应仅返回1行