0

こんにちは、以下の構造のテーブルがあります。

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 が選択されます。

複数のクエリを使用せずにそれを行うことは可能ですか? アドバイスやヒントをいただければ幸いです。

さらに情報が必要な場合はお知らせください。投稿を編集します。

4

1 に答える 1