私はまだSQLを学んでいるので、次のことを行うためのより良い方法があるかどうか疑問に思いました。
列の最小値と最大値の行データを取得する必要があります(これをcolumnAと呼びます)。私は使うだろう:
SELECT *
FROM table
ORDER BY columnA
DESC LIMIT 1
問題は、次の理由で1つの結果しか得られないLIMIT 1
ことですが、ColumnAには同じ最小値/最大値があり、他の列には異なる値がある可能性があります。他の行も必要です。
ありますがSELECT(MAX)
、それでも1行のデータしか生成されないと思います。
私がこれを行うと考える方法は、最高/最低のcolumnA値を変数に入れてから、2番目のクエリに戻すことです。これを単一のクエリで行うには、エイリアステーブルをOR
使用しLEFT JOIN
ますが、もっと直接的な方法はありますか?