Select

使用 SQL 查詢以部分匯總表中的數據

  • August 29, 2018

我正在學習如何處理數據庫,所以這是一個微不足道的問題,很可能已經得到了回答。我只是對術語不熟悉,也不知道如何搜尋它(儘管我嘗試過)。

我的數據在執行 HSQLDB v1.8(非常舊的引擎版本)的 LibreOffice 上。目前,我必須堅持下去。無法使用更新的 SQL 引擎。

我有一個payment具有以下結構的表

member_id  pay_year pay_unit
0          2016     1
0          2017     2
0          2017     1
0          2017     1
0          2018     2
1          2015     1
1          2018     2

我需要把這張表總結成類似的東西

member_id  pay_year pay_unit_year
0          2016     1
0          2017     4
0          2018     2
1          2017     1
1          2018     2

是購買的pay_unit_year會員年數。所以最終我需要與年份和單位一起運作,並為每個成員獲得一條線路

member_id  expire_year
0          2023
1          2020

我正在使用

SELECT DISTINCT member_id,
pay_year,
pay_unit
FROM payments

我得到

member_id  pay_year pay_unit
0          2016     1
0          2017     2
0          2017     1
0          2018     2
1          2017     1
1          2018     2

有沒有辦法對pay_unit其他列具有相同資訊的子集執行操作?

我知道 SQL 有很多可用的日期操作,但 HSQLDB v1.8 沒有實現它們。

感謝您的幫助,感謝您的耐心等待

這確實是一個非常基本的概念:聚合。您需要以下GROUP BY條款:

SELECT member_id,
pay_year,
SUM(pay_unit) AS sum_pay_unit
FROM payments
GROUP BY member_id, pay_year;

引用自:https://dba.stackexchange.com/questions/216214