从SQL表中进行多项选择

时间:2016-03-08 10:57:32

标签: sql sql-server database

我正在尝试编写一个查询以返回多个匹配结果,我想查看有多少记录与表中的列匹配。

select  [pomDocumentId],
        [svPartNo],
        count(svPartNo) as dup
from [tbl_ODW_PomItem] 
group by [svPartNo],[pomDocumentId]

我尝试了这个,但是不行。我想看看有多少[pomDocumentId]与表格中的[svPartNo]匹配。

谢谢。

id          pomDocumentId          svPartNo

4955        8298                   5WK96132-E
6131        14826                  5WK96132-E

以下是解决问题的查询:

select [svPartNo], count(svPartNo) as dup 
  from [ODW_Dev].[dbo].[tbl_ODW_PomItem]
   group by [svPartNo]  
   having count(svPartNo)>1 
   order by dup desc

2 个答案:

答案 0 :(得分:0)

尝试以下代码。

  SELECT svPartNo, COUNT(pomDocumentId) FROM TAB GROUP BY svPartNo

答案 1 :(得分:0)

好像你在使用GROUP BY的简单COUNT之后,运行以下SQL来测试您的示例数据:

DECLARE @tbl_ODW_PomItem AS TABLE 
    ([id] int, [pomDocumentId] int, [svPartNo] varchar(10))
;

INSERT INTO @tbl_ODW_PomItem
    ([id], [pomDocumentId], [svPartNo])
VALUES
    (4955, 8298, '5WK96132-E'),
    (6131, 14826, '5WK96132-E')
;


SELECT COUNT(pomDocumentId) DocCount, svPartNo
FROM @tbl_ODW_PomItem
GROUP BY svPartNo

这会产生:

DocCount    svPartNo
======================
2           5WK96132-E