在SQL Server 2005中,我有一个表cm_production,其中列出了所有已投入生产的代码.该表有ticket_number,program_type,program_name和push_number以及其他一些列.
目标:按程序类型和推送号计算所有DISTINCT程序名称
到目前为止我所拥有的是:
DECLARE @push_number INT;
SET @push_number = [HERE_ADD_NUMBER];
SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type]
FROM cm_production
WHERE push_number=@push_number
GROUP BY program_type
Run Code Online (Sandbox Code Playgroud)
这让我在那里,但它计算所有的程序名称,而不是不同的程序名称(我不希望它在该查询中做).我想我无法绕过如何告诉它只计算不同的程序名而不选择它们.或者其他的东西.
我需要运行一个select语句,返回列的值不相同的所有行(例如EmailAddress).
例如,如果表格如下所示:
CustomerName EmailAddress
Aaron aaron@gmail.com
Christy aaron@gmail.com
Jason jason@gmail.com
Eric eric@gmail.com
John aaron@gmail.com
Run Code Online (Sandbox Code Playgroud)
我需要查询返回:
Aaron aaron@gmail.com
Christy aaron@gmail.com
John aaron@gmail.com
Run Code Online (Sandbox Code Playgroud)
我阅读了很多帖子并尝试了不同的查询无济于事.我认为应该工作的查询如下.有人可以提出替代方案或告诉我查询可能有什么问题吗?
select EmailAddress, CustomerName from Customers
group by EmailAddress, CustomerName
having COUNT(distinct(EmailAddress)) > 1
Run Code Online (Sandbox Code Playgroud)