Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server问题分组_Sql_Sql Server_Sql Server 2005_Tsql_Group By - Fatal编程技术网

SQL Server问题分组

SQL Server问题分组,sql,sql-server,sql-server-2005,tsql,group-by,Sql,Sql Server,Sql Server 2005,Tsql,Group By,我有下表: CREATE TABLE #weeks( ProposalLineWeekID INT, StartWeek DATETIME, EndWeek DATETIME, Selected BIT, WeekNumber INT ) 如何获取所有具有重复的WeekNumber条目的ProposalNeweekid值? 比如说 ProposalLineWeekID, WeekNumber ------------------------------ 2

我有下表:

CREATE TABLE #weeks(
  ProposalLineWeekID INT, 
  StartWeek DATETIME, 
  EndWeek DATETIME, 
  Selected BIT, 
  WeekNumber INT
)
如何获取所有具有重复的WeekNumber条目的ProposalNeweekid值? 比如说

ProposalLineWeekID, WeekNumber 
------------------------------
2                   22
3                   6
4                   22
我想得到一个新的星期二和星期四以及相应的周数。

试试这个:

SELECT ProposalLineWeekID, WeekNumber
FROM #Weeks
WHERE WeekNumber IN
( 
    SELECT WeekNumber
    FROM #weeks
    GROUP BY WeekNumber
    HAVING COUNT(*) > 1
)
子查询将查找所有重复的周数,外部查询将获取相应的行。

尝试以下操作:

SELECT ProposalLineWeekID, WeekNumber
FROM #Weeks
WHERE WeekNumber IN
( 
    SELECT WeekNumber
    FROM #weeks
    GROUP BY WeekNumber
    HAVING COUNT(*) > 1
)

子查询查找所有重复的周数,外部查询获取相应的行。

如果我理解正确,我想这就是您想要的:

SELECT DISTINCT w1.ProposalLineWeekID, w1.WeekNumber
FROM weeks w1
INNER JOIN weeks w2 ON w2.WeekNumber = w1.WeekNumber 
  AND w2.ProposalLineWeekID <> w1.ProposalLineWeekID

如果我理解正确,我想这就是你想要的:

SELECT DISTINCT w1.ProposalLineWeekID, w1.WeekNumber
FROM weeks w1
INNER JOIN weeks w2 ON w2.WeekNumber = w1.WeekNumber 
  AND w2.ProposalLineWeekID <> w1.ProposalLineWeekID

+1但如果给定的WeekNumber的重复次数超过,则可能需要将OP要求的WeekNumber添加到SELECT子句中,并与SELECT子句不同twice@Conrad-很好的一点,我本来在那里有一个独特的,然后再三考虑,并删除了它。应该坚持我的第一直觉:+1,但如果给定的周号重复超过1次,您可能希望将OP要求的周号添加到SELECT子句中,并与SELECT子句不同twice@Conrad-很好的一点,我本来在那里有一个独特的,然后再三考虑,并删除了它。应该坚持我在那里的第一直觉:+1,这也会起作用。不确定我或你的解决方案中哪一个在实践中会表现得更好。+1,这也会起作用。但不确定我或你的解决方案中哪一个在实践中表现更好。