相关疑难解决方法(0)

不显示列名称

我有一个StudentMarks带有列的表Name, Maths, Science, English.数据就像

Name,  Maths, Science, English  
Tilak, 90,    40,      60  
Raj,   30,    20,      10
Run Code Online (Sandbox Code Playgroud)

我希望得到如下安排:

Name,  Subject,  Marks
Tilak, Maths,    90
Tilak, Science,  40
Tilak, English,  60
Run Code Online (Sandbox Code Playgroud)

使用unpivot,我可以正确获取Name,Marks,但无法将源表中的列名称获取到Subject所需结果集中的列.

我怎样才能做到这一点?

我到目前为止已达到以下查询(获取名称,标记)

select Name, Marks from studentmarks
Unpivot
(
  Marks for details in (Maths, Science, English)

) as UnPvt
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server unpivot sql-server-2008

118
推荐指数
3
解决办法
24万
查看次数

从数据库中的列值生成直方图

假设我有一个数据库列'grade',如下所示:

|grade|
|    1|
|    2|
|    1|
|    3|
|    4|
|    5|
Run Code Online (Sandbox Code Playgroud)

在SQL中有一个非平凡的方法来生成这样的直方图吗?

|2,1,1,1,1,0|
Run Code Online (Sandbox Code Playgroud)

其中2表示1级出现两次,1表示等级{2..5}出现一次,0表示等级6根本不出现.

我不介意直方图是否每个计数一行.

如果这很重要,数据库是由perl CGI通过unixODBC/FreeTDS访问的SQL Server.

编辑:谢谢你的快速回复!如果我可以确定哪个直方图值属于哪个等级,则不存在不存在的值(如上例中的等级6)是可以的.

sql sql-server histogram

24
推荐指数
3
解决办法
4万
查看次数

标签 统计

sql ×2

sql-server ×2

histogram ×1

sql-server-2008 ×1

t-sql ×1

unpivot ×1