こんにちは、以下の構造のテーブルがあります。
create table prices(
id int not null,
mini float not null,
maxi float not null,
primary key (id)
);
そして、特定の範囲内にある行の ID を選択します。次のフィドルはそれ自体を物語っています:http://sqlfiddle.com/#!2/5885d/2
set @pmini1 = 82.5;
set @pmaxi1 = 85.5;
select *
from prices
where ((@pmini1 between mini and maxi) or
(@pmaxi1 between mini and maxi));
さて、私がこの条件を実装しようとしていることを知ってください:
- 範囲がテーブルの最高の最大値よりも高い場合、最大の最大値を持つ要素の ID が選択されます。
- 範囲がテーブルの最小のミニよりも低い場合、最小のミニを持つ要素の ID が選択されます。
複数のクエリを使用せずにそれを行うことは可能ですか? アドバイスやヒントをいただければ幸いです。
さらに情報が必要な場合はお知らせください。投稿を編集します。