【发布时间】:2015-11-11 20:15:47
【问题描述】:
我正在使用 Microsoft SQL 2012
我有一个包含名称字段和多个整数字段的表。
NAME|field1|field2|field3
John|1|2|1
Pat|3|2|1
John|1|1|2
我想要的是通过 NAME 获取所有 1 列的计数和所有 2 列的计数。
- 1 = 通过
- 2 = 失败
- 3 = 不适用,将被忽略
我希望我的结果是这样的:
NAME|PASS|FAIL|ACCURACY
JOHN|4|2|66.6
PAT|1|1|50.0
每一行代表一个人,每个人在表格中可以有多个行,其中包含每个字段的分数。第一个答案与我正在寻找的答案很接近,只是它没有按人分组。我以前从未尝试过,也不知道从哪里开始。
任何帮助将不胜感激。
谢谢你,
【问题讨论】:
-
你能告诉我们你到目前为止的尝试吗?
-
哪个 DBMS? SQL 方言不尽相同。
-
如果数据库设计得当,您可以将值放在单独的行而不是单独的列中,这将非常容易。考虑改变你的模型。