初学者的我们在使用group by的时候往往又是时候发现我们某些字段无法使用,这时候我们就可以使用这个函数强制把你想要返回的字段你强制返回出去
这时我的表:
create table SC(skey int ,SId varchar(10),CId varchar(10),score decimal(18,1),PRIMARY key(skey));
insert into SC values('1','01' , '01' , 80);
insert into SC values('2','01' , '02' , 90);
insert into SC values('3','01' , '03' , 99);
insert into SC values('4','02' , '01' , 70);
insert into SC values('5','02' , '02' , 60);
insert into SC values('6','02' , '03' , 80);
insert into SC values('7','03' , '01' , 80);
insert into SC values('8','03' , '02' , 80);
insert into SC values('9','03' , '03' , 80);
insert into SC values('10','04' , '01' , 50);
insert into SC values('11','04' , '02' , 30);
insert into SC values('12','04' , '03' , 20);
insert into SC values('13','05' , '01' , 76);
insert into SC values('14','05' , '02' , 87);
insert into SC values('15','06' , '01' , 31);
insert into SC values('16','06' , '03' , 34);
insert into SC values('17','07' , '02' , 89);
insert into SC values('18','07' , '03' , 98);
下面是我的查询语句:
select any_value(a.cid), any_value(a.sid), any_value(a.score) from sc a
inner join
sc b
on a.sid = b.sid
and a.cid != b.cid
and a.score = b.score
GROUP BY a. cid, b.sid;
如果不使用这个函数的话会给我们报一个
这样的异常,大概就是不兼容这样的sql语句