当前位置: 首页 > 面试题库 >

计算SQL中列的特定值并根据唯一标识符显示在行中

常子濯
2023-03-14
问题内容

我必须将下表命名为results:

Position | Country
-------------------
1        | US
2        | Italy
3        | France
1        | US
2        | France
3        | Italy

我想创建以下内容

Country | 1 | 2 | 3 |
---------------------
US      | 2 | 0 | 0 |
Italy   | 0 | 1 | 1 |
France  | 0 | 1 | 1 |

我相信最好的前进方式是使用数据透视表,有人可以给我一些建议吗?


问题答案:

您可以使用条件聚合:

select country,
       sum(case when position = 1 then 1 else 0 end) as pos_1,
       sum(case when position = 2 then 1 else 0 end) as pos_2,
       sum(case when position = 3 then 1 else 0 end) as pos_3
from t
group by country
order by sum(pos) asc;


 类似资料:
  • 本文向大家介绍计算大于和小于特定值的值,并在单独的MySQL列中显示计数?,包括了计算大于和小于特定值的值,并在单独的MySQL列中显示计数?的使用技巧和注意事项,需要的朋友参考一下 为此,您可以将COUNT()与CASE STATEMENT一起使用。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是对大于或小于特定值的值

  • 我尝试创建连接到MySQL数据库的销售点程序。我有一个来显示商品序列、商品名称和价格,我想在中得到总价的总和,我写了以下内容: 当我尝试开始新账单时,文本字段不会返回到零,而是按以前账单的总数开始。

  • 问题内容: 我已经在处理以下代码,但是似乎找不到一种方法来计算字谜列表中唯一值的数量。如果我只是打印出:我会得到列表的总价值,但其中包括重复项。 我试图将列表转换为集合,然后再删除掉重复项,但是还没有任何运气。 谢谢! 问题答案: 使用。仅包含唯一值:

  • 问题内容: 从pandas数据框中选择所有行的最简单方法是什么?谁的符号在整个表中恰好出现两次?例如,在下表中,我想选择在[‘b’,’e’]中带有sym的所有行,因为这些符号的value_counts等于2。 问题答案: 我认为您可以按列和值使用: 第二个解决方案使用与布尔索引: 并用最快的解决方案和:

  • 问题内容: 这是我的数据 是独特的。我需要显示每张卡的所有详细信息和总时间,例如: 问题答案: SELECT卡号,用户名,表名,总和(小时)从表_1 GROUP BY卡号,用户名,表名开​​始

  • 问题内容: 我有一种情况,我只想在其他字段中有特定值的情况下才添加唯一约束(例如表为ID CategoryName名称值Value CategoryID) 约束将在ID,CategoryName和Name上,只有CategoryID为0 是否有可能? 问题答案: