java - 在 Spring Boot 的一个查询中统计我的客户
问题描述
我有一个表,我在其中存储客户信息,例如客户姓名和类型,如下所示
ID | 姓名 | 类型 |
---|---|---|
1 | c1 | 金子 |
2 | c2 | 银 |
3 | c3 | 青铜 |
4 | c4 | 通常 |
5 | c5 | 金子 |
6 | c6 | 金子 |
7 | c7 | 银 |
并且需要找到每类客户的数量
例如,黄金客户的数量?黄金 = 3 ,白银 = 2 ,青铜 = 1 ,通常 = 1
谁能解决我的问题?
@Query("SELECT COUNT(p.gold) AS gold , COUNT(p.silver) AS silver , COUNT(p.bronze) AS bronze , COUNT(p.usual) AS usual from Customer p")
MyModel selectTotals();
解决方案
这是您的 sql 查询的外观:
SELECT
COUNT(case when p.type= 'gold' then 1 end) AS gold
, COUNT(case when p.type= 'silver' then 1 end) AS silver
, COUNT(case when p.type= 'bronze' then 1 end) AS bronze
, COUNT(case when p.type= 'usual' then 1 end) AS usual
from Customer p
推荐阅读
- alexa - 如何从alexa技能中获取用户输入
- python - 循环多个 SQL 查询并将输出保存为单个数据帧
- python - 解包 n 级嵌套列表
- html - 角度 p 元素作为模板内的根元素
- c# - 如何在通用 Windows 平台 (UWP) 的任何控制下呈现 MS-Word 文件,而不是在单独的文件中打开它?
- java - BASIC,在调用 %d%n 后不能再输出任何字符串?
- tensorflow - @tf.custom_gradient 处于急切模式,参数复杂
- python - 在 tmux 窗口中生成输出时无法滚动 Ipython(不是笔记本!)
- python - 构建分层字符串
- python - 解包元组返回错误的结果