私は以下のようなデータベーステーブルデータを1つ持っています。データベーステーブルから最小文字列と最大文字列を取得
abc
bcd
cdef
ferd
testd
私は
abc
testd
どのように私は、出力の上に取得するSQLクエリを書くことができますが、次のように最小値と最大値を取得する必要がありますか?
私は以下のようなデータベーステーブルデータを1つ持っています。データベーステーブルから最小文字列と最大文字列を取得
abc
bcd
cdef
ferd
testd
私は
abc
testd
どのように私は、出力の上に取得するSQLクエリを書くことができますが、次のように最小値と最大値を取得する必要がありますか?
の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);
おかげで追加したので、しかし、それは、*代わりにのみ*組合*すべての*ユニオンを使用する必要があります。うまくいきました – mallikarjun
@mathguy join_conditionは、mysqlの内部ジョインではオプションです。 https://dev.mysql.com/doc/refman/5.7/en/join.html – pah
@mathguy unqualifedは、MySQLの下に登録しようが、INNER JOINのように解釈されて参照してください(そう答えクエリの下に内部結合にデフォルトで修飾されました) 。さらに、INNER JOINSについての懸念事項については、私が用意した文書に従えば 'In MySQL、JOIN、CROSS JOIN、INNER JOINは構文的に同等です(相互に置き換えることができます)。標準SQLでは、これらは同等ではありません。 INNER JOINはON句とともに使用され、それ以外の場合はCROSS JOINが使用されます。 – pah
SELECT min(field) as minValue, max(field) as maxValue FROM yourTable
これは、min/maxがDBのデフォルトに基づいており、それ以上複雑ではないことを前提としています。
次の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
これは余分な結合を必要としないので、受け入れられた答えより優れています。 HAL9000の右@組合が戻るだけ異なる値 –
が...答え – scaisEdge
これはOracleまたはMySQLですか? – mathguy