我需要帮助编写一个查询,该查询将返回包含重复值(AccountID)的行,但仅限于行包含唯一或不同的列值(AgentID),例如:
代理人表:
AgentID - AccountID
2 ABCD
1 AI00
3 ABCD
4 BI00
5 ABCD
5 ABCD
结果:
Account Count(*)
ABCD 2
(最后两行被忽略,因为AgentID不是唯一的。)
感谢,你。
答案 0 :(得分:0)
我猜您正在寻找此查询:
SELECT AgentID, AccountID
FROM dbo.Agents a
WHERE EXISTS
(
SELECT 1 FROM dbo.Agents a2
WHERE a.AccountID = a2.AccountID
AND a.AgentID <> a2.AgentID
)
GROUP BY AgentID, AccountID
HAVING COUNT(*) = 1
它返回包含重复AccountID
的所有行,但AgentID
和AccountID
的组合是唯一的。在您的示例中,它是:
AgentID AccountID
2 ABCD
3 ABCD
因此,即使它具有相同的重复AccountID
,它也会省略最后两行,因为它们具有相同的AgentID
。
答案 1 :(得分:0)
我认为这是两个聚合。第一个是AccountId
/ AccountId
级别,以获得唯一对。第二个是select AccountId, count(*)
from (select AgentId, AccountId
from agents
group by AgentId, AccountId
having count(*) = 1
) aa
group by AccountId
having count(*) > 1;
级别,以获取给定帐户的编号:
script.js
for(var i=1; i<suggestionList.length; i++)
{
$list.append("<li>" + suggestionList[i] + "</li>");
// attach handler for click on the suggestions
$list.find("li").eq(i).click(function() {
change(suggestionList[0], suggestionList[i]);
});
}
function change(changeto,changewith)
{
var replaceto=document.getElementById(changeto).innerHTML;
var replacewith=changewith;
var text1=document.getElementById("para").innerHTML;
var afterRe=text1.replace(replaceto,replacewith);
document.getElementById("para").innerHTML=afterRe;
}