MySQLのバージョン5.7のようですが、SQL Serverを扱う人には実際のheadacheという1つの厄介なものが追加されました。MySQLでDISTINCTとORDER BYを選択
問題は:SELECT DISTINCT
の列を1列にしようとすると、MySQLがエラーをスローし、ORDER BY
の別の列が欲しいです。これまではバージョン5.6ではバージョン5.7のいくつかのビルドであってもこれを行うことができましたが、今は禁止されています(少なくともデフォルトでは)。
いくつかの変数が存在することを願っています。これを動作させるために設定できる変数があります。しかし、残念ながら私はその不快な変数を知らない。誰かがそれを知っていれば幸いです。
EDIT
これは(MySQLの5.7の最終ビルドまで)年間、文字通り働いていた私の場合はいくつかの典型的なクエリです:私は今b.id_order
が含まれている場合、実際に、
SELECT DISTINCT a.attr_one, a.attr_two, a.attr_three, b.attr_four FROM table_one a
LEFT JOIN table_two b ON b.some_idx = a.idx
ORDER BY b.id_order
そして、 SELECT
部分(MySQLが示唆しているように)に、私が得るものは、ごみになります。
ため
は、これは実際のクエリですか? – Strawberry
はい、実際のクエリです。 – Jacobian