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

Jak v Postgresu mohu POČÍTAT a KDE ve stejném dotazu a poté vypočítat výsledek?

Něco takového:

SELECT 
  s.*, 
  ROUND (
  100.00 * (s.sale_item_1 + s.sale_item_2) /
  (SELECT 
     SUM(sale_item_1 + sale_item_2)
     FROM sales_db 
     WHERE orderNumber = s.orderNumber), 2) percentage
FROM sales_db s;

Podívejte se na ukázku



  1. Elegantnější způsob, jak uniknout dynamickému SQL?

  2. seskupení každých N hodnot

  3. Postgres omezení zajišťující jeden sloupec z mnoha je přítomen?

  4. Výběr náhodných řádků pomocí MySQL