PostgreSQL
 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 е в резултата само веднъж , дори ако използвате 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. libpqxx v12 - динамично обвързване на векторни стойности към подготвен израз (алтернатива на извикването)

  2. Производителността не се увеличава, дори се увеличава размерът на work_mem

  3. Не може да се дешифрира с помощта на pgcrypto от AES-256-CBC, но AES-128-CBC е наред

  4. Как да преброим група по заявка в NodeJS Sequelize

  5. SQL:Как да запазя реда в sql заявка?