Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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 如果在另一列上聚合,则匹配具有特定计数的行_Sql_Join_Count - Fatal编程技术网

Sql 如果在另一列上聚合,则匹配具有特定计数的行

Sql 如果在另一列上聚合,则匹配具有特定计数的行,sql,join,count,Sql,Join,Count,我有一个包含以下字段的表:Url、IP、input 我想检索具有不同输入的不同IP的所有URL(以及相应的IP) 例如: Url1, IP1, input1 Url2, IP2, input1 Url3, IP3, input1 Url1, IP4, input2 Url2, IP5, input2 Url3, IP3, input2 Url4, IP3, input2 我试图得到这样的结果: Url1, IP1, input1 Url1, IP4, input2 Url2, IP2, inp

我有一个包含以下字段的表:
Url、IP、input

我想检索具有不同输入的不同IP的所有URL(以及相应的IP)

例如:

Url1, IP1, input1
Url2, IP2, input1
Url3, IP3, input1
Url1, IP4, input2
Url2, IP5, input2
Url3, IP3, input2
Url4, IP3, input2
我试图得到这样的结果:

Url1, IP1, input1
Url1, IP4, input2
Url2, IP2, input1
Url2, IP5, input2
因为Url3在不同的输入上获得相同的IP3,所以我不希望结果中包含它

另外,我不想要Url4,因为它只在input2中


我搜索过子查询和联接(在同一个表上),但最终在一个外部脚本中完成了:有没有一种方法可以直接在SQL中执行它

create table your_table
(Url varchar(50),IP varchar(50), input varchar(50));


insert into your_table (Url, IP, input) values ('Url1', 'IP1', 'input1');
insert into your_table (Url, IP, input) values ('Url2', 'IP2', 'input1');
insert into your_table (Url, IP, input) values ('Url3', 'IP3', 'input1');
insert into your_table (Url, IP, input) values ('Url1', 'IP4', 'input2');
insert into your_table (Url, IP, input) values ('Url2', 'IP5', 'input2');
insert into your_table (Url, IP, input) values ('Url3', 'IP3', 'input2');



select *
from your_table
where (Url,IP) in
(
select Url, IP
from
(
select Url, IP, count(*)
from your_table
group by Url, IP
having count(*) = 1
) a
);
A可以


这很好,但是如果只有一个Url,我不希望它出现在结果中,因为我使用sqlite,我需要做一个连接,而不是
where(Url,IP)
,但这是次要的
SELECT MIN(Url), IP, input
FROM   YourTable
GROUP BY
       IP, input