小编use*_*133的帖子

SQL - 在一个字段中选择具有来自另一个字段的最高记录的不同记录

在我有这样一个表的场景中:

int id (PK)
int staff_id
int skill_id
bit mainskill
Run Code Online (Sandbox Code Playgroud)

我想为每个工作人员(由staff_id表示)仅选择一条记录,列出他们的主要技能,如(1)在mainskill中所示.如果没有主要技能,我想返回该工作人员的任何技能记录.例如:

id   staff_id   skill_id   mainskill
1    1          24         1
2    1          55         0
3    1          7          0
4    4          24         0
5    4          18         0
6    6          3          0
7    6          18         1
Run Code Online (Sandbox Code Playgroud)

查询应该返回:

id   staff_id   skill_id   mainskill
1    1          24         1
4    4          24         0
7    6          18         1
Run Code Online (Sandbox Code Playgroud)

我尝试了各种分组,DISTINCT等组合,但无法获得我之后的输出.任何帮助赞赏.

sql t-sql sql-server ranking sql-server-2008

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

SQL - 收缩数据库日志文件

我想缩小我的数据库日志文件.我试图运行:

USE databasename 
BACKUP log databasename
WITH truncate_only 
DBCC shrinkfile (databasename_log, 1)
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

消息155,级别15,状态1,行3'truncate_only'不是可识别的BACKUP选项.

我错过了什么吗?

backup transaction-log shrink sql-server-2008

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