sql >> Databáze >  >> RDS >> PostgreSQL

Odstraňte duplicitní sloupec po dotazu SQL

Nejelegantnějším způsobem by bylo použití USING klauzule v explicitní podmínce spojení:

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;

Tímto způsobem sloupec houseid je ve výsledku pouze jednou , i když použijete SELECT * .

Podle dokumentace:

Chcete-li získat průměr epatmpg pro vybrané řádky:

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

Pokud je v dayv2pub více shod , může odvozená tabulka obsahovat více instancí každého řádku v vehv2pub po připojení. avg() je založen na odvozené tabulce.



  1. jak získat hodnotu z výběrového dotazu ve spouštěči v mysql5?

  2. Jak funguje funkce REGEXP_SUBSTR() v MySQL

  3. SQL Server – Kumulativní součet, který se resetuje při zjištění 0

  4. Balíček již zveřejnil 50 toustů. Nezobrazovat více