sql 分组再分组 语句怎么写?
发布网友
发布时间:2022-05-31 03:51
我来回答
共4个回答
热心网友
时间:2023-10-08 23:17
似乎上面这几个答案都不能满足要求。我自己也没与想出来该怎么查询。
可是我觉得既然你已经说了票是不能重复的,也就是说它的值应该是unique或者说它是primary key。为什么在设置的时候不能设为主键呢?
票和操作员是1:M的关系,另外票和金额也是1:M的关系,操作员和金额是N:M的关系。你可以将(ticket_n,rmb)设为主键,这样一个元组就能由这两个属性来决定,就会得到你想要的结果
ticket_n czy rmb
01 001 50
01 001 100
01 001 80
01 002 30
01 002 20
(其实还是有点不懂你对题目所设的要求,具体可以给我发信息,百度hi一下)
热心网友
时间:2023-10-08 23:17
很简单
create table sxh(kicket_n varchar2(10),czy varchar2(10));
insert into sxh values('01','001');
insert into sxh values('01','001');
insert into sxh values('01','002');
insert into sxh values('01','002');
insert into sxh values('03','004');
insert into sxh values('09','007');
select *
from sxh
where (kicket_n,czy) in
(
select kicket_n,czy
from
(
select *
from sxh
where kicket_n in
(
select kicket_n
from sxh
group by kicket_n
having count(*)>=2
)
)
group by kicket_n,czy
having count(*)>=2
);
--经测试成功
热心网友
时间:2023-10-08 23:18
你再说明一下 更进一步要求是:上述记录中,只要czy字段内容有不同的 是什么意思?
比如说这样的记录
02 001
02 001
两个字段都相同 那么这个查询要不要呢?
再比如
02 001
02 001
02 002
查询出来的又是什么?三条记录都要吗?
热心网友
时间:2023-10-08 23:18
select * from sxh group by kicket_n,czy