検索

ホームページ  >  に質問  >  本文

DISTINCT クエリと ORDER BY を使用した MySQL エラー

ある列に対して DISTICNT クエリを実行し、SELECT ステートメントにない別の列で並べ替えようとしています。次のエラーが発生します:

クエリが失敗しました SQLSTATE[HY000]: 一般エラー: 3065 式 #1 ORDER BY 句が SELECT リストにありません、参照される列です 「midnites_midNite.product_in_category.sortOrder」が存在しません 選択リスト。これは DISTINCT

と互換性がありません。

ID、cat_ID、product_ID、sortOrder の 4 つの列を含むテーブルの例として、products_in_category があります。 Product_ID WHERE cat_ID = 9 DISTICNT クエリを実行し、sortOrder 列の関連するクエリ値で並べ替えようとしています。

リーリー

このクエリは 3 つの値 5、26、7 を返します。これは正しいですが、関連付けられた sortOrder 値によって並べ替える必要もあります。以下のこのクエリを使用すると、5 つの値が返されますが、sortOrder 列の値はすべて一意であるため、これは正しくありません。

リーリー

以下のクエリを使用すると、mySQL がこのエラーをスローします。その理由はわかりますが、sortOrder が SELECT ステートメントに含まれていません。 Product_ID 列に対して DISTICNT クエリを実行し、返された値に関連付けられた sortOrder 値で並べ替える方法がわかりません。

クエリが失敗しました SQLSTATE[HY000]: 一般エラー: 3065 式 #1 ORDER BY 句が SELECT リストにありません、参照される列です 「midnites_midNite.product_in_category.sortOrder」が存在しません 選択リスト。これは DISTINCT

と互換性がありません。
リーリー

私はさまざまなunion、join、selectステートメントをさまざまな方法で試してみました。ご理解いただけると幸いです。ご協力いただければ幸いです。 ! !

P粉541551230P粉541551230264日前542

全員に返信(1)返信します

  • P粉536909186

    P粉5369091862024-04-01 09:29:51

    リーリー

    返事
    0
  • キャンセル返事