34,593
社区成员
发帖
与我相关
我的任务
分享
create table asd
(aa int,bb int)
insert asd values(1,1)
insert asd values(1,2)
insert asd values(1,3)
insert asd values(2,1)
insert asd values(3,1)
insert asd values(3,2)
insert asd values(3,3)
insert asd values(4,1)
insert asd values(4,2)
insert asd values(5,1)
go
select a.*,b.cnt
from asd a
right join (
select aa,count(aa) as cnt from asd
group by aa
having count(aa)=2 ) b
on a.aa = b.aa
drop table asd
/*
aa bb cnt
----------- ----------- -----------
4 1 2
4 2 2
(所影响的行数为 2 行)
*/
create table asd (aa int,bb int)
insert asd values(1,1)
insert asd values(1,2)
insert asd values(1,3)
insert asd values(2,1)
insert asd values(3,1)
insert asd values(3,2)
insert asd values(3,3)
insert asd values(4,1)
insert asd values(4,2)
insert asd values(5,1)
select * , 共有 = 3 from asd where aa in (select aa from asd group by aa having count(*) = 3)
/*
aa bb 共有
----------- ----------- -----------
1 1 3
1 2 3
1 3 3
3 1 3
3 2 3
3 3 3
(所影响的行数为 6 行)
*/
select * , 共有 = 2 from asd where aa in (select aa from asd group by aa having count(*) = 2)
/*
aa bb 共有
----------- ----------- -----------
4 1 2
4 2 2
(所影响的行数为 2 行)
*/
drop table asd
create table asd (aa int,bb int)
insert asd values(1,1)
insert asd values(1,2)
insert asd values(1,3)
insert asd values(2,1)
insert asd values(3,1)
insert asd values(3,2)
insert asd values(3,3)
insert asd values(4,1)
insert asd values(4,2)
insert asd values(5,1)
declare @aa as int
set @aa = 3
select * , 共有 = @aa from asd where aa in (select aa from asd group by aa having count(*) = @aa)
/*
aa bb 共有
----------- ----------- -----------
1 1 3
1 2 3
1 3 3
3 1 3
3 2 3
3 3 3
(所影响的行数为 6 行)
*/
set @aa = 2
select * , 共有 = @aa from asd where aa in (select aa from asd group by aa having count(*) = @aa)
/*
aa bb 共有
----------- ----------- -----------
4 1 2
4 2 2
(所影响的行数为 2 行)
*/
drop table asd
create table asd (aa int,bb int)
insert asd values(1,1)
insert asd values(1,2)
insert asd values(1,3)
insert asd values(2,1)
insert asd values(3,1)
insert asd values(3,2)
insert asd values(3,3)
insert asd values(4,1)
insert asd values(4,2)
insert asd values(5,1)
declare @aa as int
set @aa = 3
select * from asd where aa in (select aa from asd group by aa having count(*) = @aa)
/*
aa bb
----------- -----------
1 1
1 2
1 3
3 1
3 2
3 3
(所影响的行数为 6 行)
*/
set @aa = 2
select * from asd where aa in (select aa from asd group by aa having count(*) = @aa)
/*
aa bb
----------- -----------
4 1
4 2
(所影响的行数为 2 行)
*/
drop table asd
create table asd (aa int,bb int)
insert asd values(1,1)
insert asd values(1,2)
insert asd values(1,3)
insert asd values(2,1)
insert asd values(3,1)
insert asd values(3,2)
insert asd values(3,3)
insert asd values(4,1)
insert asd values(4,2)
insert asd values(5,1)
select * from asd where aa in (select aa from asd group by aa having count(*) = 3)
/*
aa bb
----------- -----------
1 1
1 2
1 3
3 1
3 2
3 3
(所影响的行数为 6 行)
*/
select * from asd where aa in (select aa from asd group by aa having count(*) = 2)
/*
aa bb
----------- -----------
4 1
4 2
(所影响的行数为 2 行)
*/
drop table asd