标签: sql-server-2008-r2

如何使用 SQL Server 2008 将学生分数分组为五分之一

谁能帮我把学生的分数分成五分之一?我认为 SQL Server 2012 中有一个功能,但我们仍然没有t upgraded to it as we are using 2008R2. I triedNtile(5)`,但它没有生成所需的结果。我需要低于五分位数列

Student   Score Quintile
------------------------    
Student1     20   1
Student2     20   1
Student3     30   2
Student4     30   2
Student5     40   2
Student6     40   2
Student7     50   3
Student8     50   3
Student9     60   3
Student10    70   4
Student11    70   4
Student12    80   4
Student13    80   4
Student14    90   5
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008-r2 ranking-functions

-1
推荐指数
1
解决办法
2789
查看次数

在SQL SERVER 2008 R2中生成序列时出错

可能重复:
SQL Server 2008 Express Edition - 如何创建序列

我编写了以下SQL查询来在SQL Server 2008R2中创建一个序列.我不知道为什么我会遇到这种错误.

SQL代码:

Use CRM 
GO 
CREATE SEQUENCE User_Detail_Sequence 
AS 
int START WITH 1
INCREMENT BY 1 NO MAXVALUE 
GO
Run Code Online (Sandbox Code Playgroud)

错误:

消息343,级别15,状态1,行1在CREATE,DROP或ALTER语句中使用的未知对象类型"SEQUENCE".

sql sql-server sql-server-2008-r2

-2
推荐指数
1
解决办法
2962
查看次数

扩展当前查询,计算列

我的表看起来像这样的例子:

Name       date      result
 A      2012-01-01     1
 A      2012-02-01     2
 B      2013-01-01     1
         ...
Run Code Online (Sandbox Code Playgroud)

有关完整示例:http://sqlfiddle.com/#!3/00222/1

目前我有一个工作查询,按人和年计算行数:http://sqlfiddle.com/#!3/00225/32

这是完美的,但我想要的是2014年的一些额外信息.我需要计算每个结果我有多少行.这样的事情:

NAME       1   2   3   2014    2013    2012    TOTAL
Person B   4   0   2     6       2       2      10
Person A   2   1   1     4       3       4      11
Person C   1   1   1     3       1       0       4
Run Code Online (Sandbox Code Playgroud)

更好的是我给结果列一个好名字(1 =丢失,2 =抽奖,3 =赢):

NAME       lost   draw   won   2014    2013    2012    TOTAL
Person B    4       0     2     6       2       2      10
Person …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008-r2

-2
推荐指数
1
解决办法
74
查看次数

通过SELECT更新一个包含25列的表格?

在SQL Server中,如果我有两个表,每个表有(25)列,如何通过SELECT更新表?

查询是:

UPDATE
    Table1
SET
    Table1.col1 = Table2.col1,
    Table1.col2 = Table2.col2,
    ...
    ...
    ...
    Table1.col25 = Table2.col25,

FROM
    Table1
INNER JOIN
    Table2
ON
    Table1.id = Table2.id
Run Code Online (Sandbox Code Playgroud)

但有没有办法更新所有列而不写上面的例子所有25列?

sql sql-server sql-server-2008-r2 sql-update

-2
推荐指数
1
解决办法
152
查看次数

SQL Server 2008上的游标性能问题

我有一个遗留存储过程试图创建一个光标来遍历查询中的每一行.表现非常糟糕.然后我检查查询计划,大部分成本(> 47%)都在一个对象上[tempdb].[CWT_PrimaryKey].此对象由存储过程中创建的游标创建.不确定如何提高此案例的性能,因为在tempdbSQL Server创建的此对象上无法执行任何操作.

存储过程中的伪代码如:

BEGIN TRY
  BEGIN TRANSACTION

  declare mycusorr local fast_forward
        for SELECT *  From MyTab Where a=b;
  open mycusorr; 
  fetch next from mycusorr into @v1, @v2, ...;

  while @@fetch_status = 0
    begin
      --some query to check rules from different tables
      Update AnotherTab Set column=value where id = @v1;
      if (there is error)
         insert error to error user log table;

  End

  close mycusorr; 
  deallocate mycusorr; 

  COMMIT;
END TRY
BEGIN CATCH
  close mycusorr; 
  deallocate mycusorr; 
  SELECT …
Run Code Online (Sandbox Code Playgroud)

sql performance sql-server-2008 sql-server-2008-r2

-3
推荐指数
1
解决办法
329
查看次数

如何在没有where子句的表中选择第二行

需要在没有where子句的情况下选择SQL Server 2008 R2中的第二行

sql sql-server-2008-r2

-4
推荐指数
1
解决办法
36
查看次数

SQL如何将数字(整数)转换为日期?

我正在使用小型商业软件并导入到SQL Server.但有数字:

75739
76910
73105
75821
75245
75605
77169
73265
75611
74073
77012
Run Code Online (Sandbox Code Playgroud)

这代表我想的日期.

如何将这些数字转换为日期YYYY-MM-DDYYYYMMDD

sql t-sql sql-server sql-server-2008-r2

-6
推荐指数
1
解决办法
2万
查看次数

检查值时出错

我在将值插入表格时遇到问题.

这是脚本:

IF OBJECT_ID ('DEPT', 'table') IS NOT NULL
DROP TABLE DEPT;
GO

CREATE TABLE DEPT (
   DEPTNO NUMERIC(2) NOT NULL,
   DNAME VARCHAR(14),
   LOC VARCHAR(13),

   CONSTRAINT DEPT_PRIMARY_KEY PRIMARY KEY (DEPTNO));
GO

INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');
GO

IF OBJECT_ID ('EMP', 'table') IS NOT NULL
  DROP TABLE EMP;
GO

CREATE TABLE EMP (
  EMPNO NUMERIC(4) NOT NULL,
  ENAME VARCHAR(10),
  JOB VARCHAR(9),
  MGR NUMERIC(4) CONSTRAINT EMP_SELF_KEY …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server insert sql-server-2008-r2

-8
推荐指数
1
解决办法
225
查看次数