【发布时间】:2021-03-15 22:01:52
【问题描述】:
我在表格中有一个句点列,其值的格式为Year-SemiQuarter。示例 2016-BQ1、2016-BQ2、2016-BQ3.......2016-BQ8 ,其中 BQ1 和 BQ2 将共同构成相应年份的 1stQuarter。其他人类似
现在,我想对结果进行分组
季度
我的桌子是这样的。已将期间分成两列。
+====================+=============+================+==================================+=====+======================================+
| totalNumberOfUnits | productType | productSubType | SUBSTRING_INDEX(rsh.period, '-', 1 ) | SUBSTRING_INDEX(rsh.period, '-', -1) |
+====================+=============+================+==================================+=====+======================================+
| 1084 | Apartment | High Rise | 2018 | BQ1 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
| 1284 | Apartment | High Rise | 2018 | BQ2 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
| 1883 | Apartment | High Rise | 2018 | BQ3 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
| 183 | Apartment | High Rise | 2018 | BQ4 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
| 898 | Apartment | High Rise | 2018 | BQ5 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
| 2377 | Apartment | High Rise | 2018 | BQ7 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
| 2953 | Apartment | High Rise | 2018 | BQ8 |
+--------------------+-------------+----------------+----------------------------------+-----+--------------------------------------+
输出应该是:
+====================+==+
| totalNumberOfUnits | |
+====================+==+
| 2368 | |
+--------------------+--+
| 2066 | |
+--------------------+--+
| 898 | |
+--------------------+--+
| 5330 | |
+--------------------+--+
所以 2018 年第一季度的 totalNumberOfUnits 是 2368,它是 BQ1 和 BQ2 的总和。对其他人也是如此。 BQ6 没有数据,所以totalNumberOfUnits 将是898,这是semi-quarter 的总单位数BQ5
这可能很简单,但我不知道该怎么做。在 Stack Overflow 中找不到相同的用例。感谢您的帮助!
我使用的 MySQL 版本是 5.7.26
【问题讨论】:
标签: mysql sql string sum aggregate-functions