PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL - làm cho hàng đầu tiên hiển thị dưới dạng tổng số các hàng khác

Điều này hiện có thể thực hiện được trong phiên bản 9.5 của Postgres :

Lược đồ PostgreSQL 9.5

CREATE TABLE basket(fruits text, a integer, b integer, c integer);
CREATE TABLE
INSERT INTO basket(fruits, a, b, c) values('apples', 1, 1, 1),
                                      ('apples', 0, 1, 2),
                                      ('bananas', 1, 1, 2),
                                      ('oranges', 1, 1, 1);

Truy vấn

SELECT coalesce(fruits,'total'), sum(a) a, sum(b) b, sum(c) c
FROM basket
GROUP BY ROLLUP((fruits))

Kết quả

 fruits  | a | b | c
---------+---+---+---
 apples  | 1 | 2 | 3
 bananas | 1 | 1 | 2
 oranges | 1 | 1 | 1
 total   | 3 | 4 | 6

ROLLUP này tương đương với việc sử dụng biểu thức với GROUPING SETS :

SELECT fruits, sum(a) a, sum(b) b, sum(c) c
FROM basket
GROUP BY GROUPING SETS (fruits, ())

Mỗi danh sách con trong GROUPING SETS được diễn giải theo cách giống như thể nó trực tiếp trong mệnh đề GROUP BY.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CS50:Toán tử LIKE, thay thế biến với% mở rộng

  2. thiếu mục nhập mệnh đề FROM cho bảng Grupo cakephp

  3. Rails ActiveRecord - cách tìm nạp các bản ghi giữa hai ngày

  4. Oracle đến PostgreSQL:Cú pháp nối ngoài ANSI trong PostgreSQL

  5. Làm cách nào để nhập các bảng có giá trị bị thiếu?