小编LaL*_*aLa的帖子

删除重复值T-SQL的1个实例

我目前有一张叫做People的桌子.在此表中,有数千行数据遵循以下布局:

gkey |    Name |  Date       | Person_Id
1    |    Fred |  12/05/2012 | ABC123456
2    |    John |  12/05/2012 | DEF123456
3    |    Dave |  12/05/2012 | GHI123456
4    |    Fred |  12/05/2012 | JKL123456
5    |    Leno |  12/05/2012 | ABC123456
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作:

SELECT [PERSON_ID], COUNT(*) TotalCount
FROM [Database].[dbo].[People]
GROUP BY [PERSON_ID]
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC
Run Code Online (Sandbox Code Playgroud)

我得到了回报:

Person_Id     | TotalCount
ABC123456     | 2
Run Code Online (Sandbox Code Playgroud)

现在我想只删除一行重复值,所以当我执行上面的查询时,我没有返回任何结果.这可能吗?

sql t-sql sql-server-2008-r2

6
推荐指数
1
解决办法
1039
查看次数

SQL - 从上面的行返回值

我有一张桌子:

Book        ¦Time Out       ¦Time In 
123456789   ¦01/01/2013 ¦07/07/2013
123456788   ¦15/01/2013 ¦20/01/2013
123456788   ¦23/01/2013 ¦30/01/2013
123144563   ¦01/02/2013 ¦18/02/2013
123144563   ¦20/02/2013 ¦NULL
124567892   ¦03/03/2013 ¦10/03/2013
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

Book        ¦Time Out       ¦Time In        ¦Next Time Out
123456789   ¦01/01/2013     ¦07/07/2013     ¦NULL
123456788   ¦15/01/2013     ¦20/01/2013     ¦23/01/2013
123456788   ¦23/01/2013     ¦30/01/2013     ¦NULL
123144563   ¦01/02/2013     ¦18/02/2013     ¦20/02/2013
123144563   ¦20/02/2013     ¦NULL           ¦NULL
124567892   ¦03/03/2013     ¦10/03/2013     ¦NULL
Run Code Online (Sandbox Code Playgroud)

码:

SELECT nextout.Book,
       nextout.[Time In] AS NextTimeIn
FROM   BookTable nextout
       JOIN BookTable nextoutsec
         ON nextout.Book = nextoutsec.Book
WHERE  nextout.[Time In] = (SELECT MAX(maxtbl.[Time …
Run Code Online (Sandbox Code Playgroud)

sql t-sql database sql-server sql-server-2008

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