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

SQLクエリでLEFTJOINの順序を並べ替える方法は?

    MAXを使用してみてください GROUP BYを使用 。

    SELECT u.userName, MAX(c.carPrice)
    FROM users u
        LEFT JOIN cars c ON u.id = c.belongsToUser
    WHERE u.id = 4;
    GROUP BY u.userName;
    

    GROUP BYに関する詳細情報

    group by句は、group by列の一意の組み合わせに基づいて、選択したレコードをグループに分割するために使用されます。これにより、レコードの各グループに順番に適用される集計関数(MAX、MIN、SUM、AVGなど)を使用できるようになります。データベースは、グループ化ごとに1つの結果レコードを返します。

    たとえば、次のようなテーブルに、時間と場所の温度を表す一連のレコードがある場合:

    Location   Time    Temperature
    --------   ----    -----------
    London     12:00          10.0
    Bristol    12:00          12.0
    Glasgow    12:00           5.0
    London     13:00          14.0
    Bristol    13:00          13.0
    Glasgow    13:00           7.0
    ...
    

    次に、場所ごとに最高気温を見つけたい場合は、気温レコードをグループに分割する必要があります。特定のグループの各レコードは同じ場所にあります。次に、各グループの最高温度を見つけます。これを行うためのクエリは次のようになります:

    SELECT Location, MAX(Temperature)
    FROM Temperatures
    GROUP BY Location;
    


    1. 列が存在しない場合は、mysqlテーブルに列を追加します

    2. データのダンプ中の外部キーの制約

    3. SQL ServerでのEXP()の例

    4. クエリが事前にわからない、複数のmysqlコマンドライン呼び出しに対してパスワードを1回入力できますか?