sql >> データベース >  >> RDS >> Mysql

別のテーブルからのMYSQLの順序

    並べ替えには2つの方法があります。昇順と降順。あなたは注文について言及していません。だから私はあなたに2つのバリエーションで両方の答えを提供しています:

    昇順:

    SELECT DISTINCT table1.*
    FROM table1
    INNER JOIN table2 ON table1.product_id = table2.product_id
    GROUP BY table1.product_id
    ORDER BY table2.product_id ASC, table2.volgnr ASC;
    

    降順:

    SELECT DISTINCT table1.*
    FROM table1
    INNER JOIN table2 ON table1.product_id = table2.product_id
    GROUP BY table1.product_id
    ORDER BY table2.product_id DESC, table2.volgnr DESC;
    

    MySQLに最初に最初にvolgnrでソートし、次にproduct_idでソートするように指示する場合

    昇順:

    SELECT DISTINCT table1.*
    FROM table1
    INNER JOIN table2 ON table1.product_id = table2.product_id
    GROUP BY table1.product_id
    ORDER BY table2.volgnr ASC, table2.product_id ASC;
    

    降順:

    SELECT DISTINCT table1.*
    FROM table1
    INNER JOIN table2 ON table1.product_id = table2.product_id
    GROUP BY table1.product_id
    ORDER BY table2.volgnr DESC, table2.product_id DESC;
    

    お役に立てば幸いです。

    編集1:

    結果が重複しないようにクエリを編集しました。試してみて、どうなるか教えてください。

    編集2: GroupBy句を追加しました。これを試してみてください。



    1. 文字列データ、右切り捨て:1406データが列に対して長すぎます

    2. PHPシングルトンデータベース接続パターン

    3. mysqlのレコードのグループに同じシリアル番号を与える方法

    4. 巨大なテキストファイルを読み、各行をデータベースに保存します