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

SQLクエリ後に重複する列を削除する

    最もエレガントな方法は、を使用することです。 USING 明示的な結合条件の句:

    SELECT houseid, v.vehid, v.epatmpg, d.houseid, d.trpmiles
    FROM   vehv2pub v
    JOIN   dayv2pub d USING (houseid)
    WHERE  v.vehid >= 1
    AND    d.trpmiles < 15;

    このように、列houseid 結果には1回しかありません 、SELECT *を使用している場合でも 。

    ドキュメントごと:

    平均的なepatmpgを取得するには 選択した行の場合:

    SELECT avg(v.epatmpg) AS avg_epatmpg
    FROM   vehv2pub v
    JOIN   dayv2pub d USING (houseid)
    WHERE  v.vehid >= 1
    AND    d.trpmiles < 15;
    

    dayv2pubに複数の一致がある場合 、派生テーブルは、vehv2pubの各行の複数のインスタンスを保持できます 参加後。 avg() 派生テーブルに基づいています。



    1. MySQLテーブルステータスを表示します。自動インクリメントが正しくありません

    2. Postgresは最もクールなデータベースです–理由#2:ライセンス

    3. 'java.lang.ClassNotFoundException:com.mysql.jdbc.Driver'をビルドパスに追加し、Class.forName();を使用して登録した後、修正する方法。

    4. より高速なPythonMySQL