mysql - GROUP BY 使用子字符串?
问题描述
我有下表:
t1:
id item
--------------------------
XR-2017-432 car
XR-2019-736 car
BC-2017-847 motorbike
XR-2017-937 car
BC-2020-758 motorbike
GK-2019-823 boat
GK-2017-928 boat
XR-2018-438 car
我想计算每年发生的次数。查询的答案应该是这样的:
result:
year count
-------------------
2017 4
2018 1
2019 2
2020 1
如何使用 MySQL 查询来做到这一点?
解决方案
考虑:
select substr(id, 4, 4) yr, count(*) cnt
from mytable
group by yr
order by yr
substr(id, 4, 4)
提取字符串的相关部分(从字符串中的第 4 个字符开始的 4 个字符),然后您可以将其用于分组)。
年 | cnt :--- | --: 2017 | 4 2018 | 1 2019 | 2 2020 | 1
推荐阅读
- python - 使用 PIL 绘制文本不适用于所有图像
- macos - 通过 SSH 远程更改 Mac 的桌面背景
- python - Using pygame.time.wait() between display updates
- javascript - 为可选(隐藏论坛)运行 Javascript“getValue”两次
- sas - [SAS]在一个数据步骤中读取具有多个级别的混合记录类型 (.dat)
- android - how set white color filter on drawable in Java Android
- debugging - debug Crash dump in firmware
- python - Python返回函数推理
- ios - willTransition function not working on a real device (swift 4)
- macos - Users not showing at login screen with MacOS FileVault Enabled