2016-07-31 14 views

答えて

1

の2つの異なる行の最小値と最大値を取得すると仮定すると、

SELECT your_column FROM your_table 
    JOIN 
    (SELECT 
     min(your_column) AS min_v, 
     max(your_column) AS max_v FROM your_table 
    ) minmax 
    WHERE your_column IN(minmax.min_v,minmax.max_v); 
+1

おかげで追加したので、しかし、それは、*代わりにのみ*組合*すべての*ユニオンを使用する必要があります。うまくいきました – mallikarjun

+0

@mathguy join_conditionは、mysqlの内部ジョインではオプションです。 https://dev.mysql.com/doc/refman/5.7/en/join.html – pah

+0

@mathguy unqualifedは、MySQLの下に登録しようが、INNER JOINのように解釈されて参照してください(そう答えクエリの下に内部結合にデフォルトで修飾されました) 。さらに、INNER JOINSについての懸念事項については、私が用意した文書に従えば 'In MySQL、JOIN、CROSS JOIN、INNER JOINは構文的に同等です(相互に置き換えることができます)。標準SQLでは、これらは同等ではありません。 INNER JOINはON句とともに使用され、それ以外の場合はCROSS JOINが使用されます。 – pah

0
SELECT min(field) as minValue, max(field) as maxValue FROM yourTable 

これは、min/maxがDBのデフォルトに基づいており、それ以上複雑ではないことを前提としています。

1

次の2つの行が必要な場合は、あなたが1行に必要がある場合は

select min(my_column), max(my_column) from my_table; 
でき

select min(my_column) 
from my_table 
union all 
select max(my_column) 
from my_table 

のみ個別の値すべてが復帰を回避するための

select min(my_column) 
from my_table 
union 
select max(my_column) 
from my_table 

や労働組合の組合を使用したCA

+0

これは余分な結合を必要としないので、受け入れられた答えより優れています。 HAL9000の右@組合が戻るだけ異なる値 –

+0

が...答え – scaisEdge

関連する問題