我正在学习如何处理数据库,所以这是一个微不足道的问题,很可能已经得到解答。我只是不熟悉行话,也不知道如何搜索它(尽管我试过了)。
我的数据在 LibreOffice 上,它运行 HSQLDB v1.8(非常旧的引擎版本)。目前,我必须坚持下去。无法使用更新的 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
条款: