検索

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

SQL - ORDER BY ソートが正しくありません

質問がありますが、問題なく動作します。最後のステップでは、「項目リスト」列の項目数に基づいてテーブル DESC 全体を並べ替えたいのですが、機能しません。

リーリー

外出中は寒いのは確かですが、まだ何かが足りないのです。

item_id は table2 に int(11) として保存され、外部キーとして table3 に渡されます。

これは COUNT 経由で得られた結果です:

これが私が取得した長さです:

###ありがとう!

P粉301523298P粉301523298464日前564

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

  • P粉356128676

    P粉3561286762023-09-07 14:33:59

    長さによる項目のリストの結果が必要な場合、結果は次のようになります。

    マイリスト項目リスト 空の 6,7,8,9,10,12,13,14,15,16,17,20,371 空の 20、21、22、23、24、25 空の 6、7、8、9、10 空の131 空の131 1,4,5 空

    次のクエリを試してください

    リーリー

    返事
    0
  • P粉668804228

    P粉6688042282023-09-07 12:59:57

    次のように、対応する group_concat と同じ条件の sum を使用して、Item List 内の要素数を計算できます。 リーリー

    これは、結果の文字列の長さを単に比較するよりも安全です。たとえば、

    '10000' のような単一の大きな数値を含む項目のリストは、依然として '1 よりも長くなります。 2'、これには 2 つの項目が含まれます。

    文字列関数を使用したい場合は、文字列に含まれるカンマの数を数えることができます。

    リーリー

    補足: 2 人のユーザーがリストに同じ数のアイテムを持っている可能性があるため、潜在的な関係を解消するために別の並べ替え基準を追加することをお勧めします。

    返事
    0
  • キャンセル返事