【发布时间】:2015-09-11 07:01:15
【问题描述】:
我编写了以下代码来计算表 soldBooks 中每个 book_id 的实例数。
SELECT book_id, sum(counter) AS no_of_books_sold, sum(retail_price) AS generated_revenue
FROM(
SELECT book_id,1 AS counter, retail_price
FROM shipments
LEFT JOIN editions ON (shipments.isbn = editions.isbn)
LEFT JOIN stock ON (shipments.isbn = stock.isbn)
) AS soldBooks
GROUP BY book_id
如您所见,我使用“计数器”来解决我的问题。但我确信必须有更好、更内置的方法来实现相同的结果!必须有某种方法可以按给定属性将表分组在一起,并创建一个显示每个属性计数的新列。有人可以和我分享一下吗?
谢谢!
【问题讨论】:
-
怎么样:
book_id, count(*) AS no_of_books_sold, sum(retail_price)在没有外部 sql 的内部 sql 上?
标签: postgresql grouping counting