sql >> Database >  >> RDS >> PostgreSQL

Vermenigvuldigen van twee kolommen die zijn berekend op een CASE-instructie

Je kunt altijd een CTE gebruiken om dingen naar een ander niveau te abstraheren, als dat helpt - iets in de trant van ...

With CTE as
(
 SELECT
  CASE column1
    WHEN something THEN 10
    ELSE 20
    END AS newcol1,
  CASE column12
    WHEN something THEN 30
    ELSE 40
    END AS newcol2,
  column3,
 FROM table
)
SELECT
  newcol1, newcol2,
  count(column3) as newcol3,
 (newcol2 * newcol3) AS newcol4
FROM CTE 
GROUP BY newcol1,newcol2,newcol3


  1. Postgres:tijdstempels gebruiken voor paginering

  2. JPA veel-op-veel-relatie die oneindige recursie en stapeloverloopfout veroorzaakt

  3. Hoe te detecteren of een waarde ten minste één numeriek cijfer bevat in MariaDB

  4. Correcte manier om invoer in MySQL op te schonen met behulp van PDO