17,086
社区成员
发帖
与我相关
我的任务
分享
//希望各位帮帮忙啊!衷心感谢
/**
* 数据库为: Oracle10g
* 现在有一张表名为student的表,数据如下:
* ID NAME AGE
* 1 A 20
* 2 B 20
* 3 C 20
* 4 X 19
* 5 Y 19
*/
/**
* 期望结果(一)
* 下面我想通过一条sql语句或者储存过程 查询AGE=20的相关记录
* 查询结果需要如下:(只查询ID、NAME列就可以了)
* ID NAME
* 1,2,3 A,B,C
*/
/**
* 期望结果(二)
* 最好是能查询出这样的结果(根据AGE来查,我想的话应该会用Group By吧)
* ID NAME
* 1,2,3 A,B,C
* 4,5 X,Y
*
*/
create table student
(
id number,
name varchar2(20),
age number
);
insert into student
select 1 , 'A' , 20 from dual
union select 2 , 'B', 20 from dual
union select 3, 'C' , 20 from dual
union select 4, 'X', 19 from dual
union select 5, 'Y' , 19 from dual;
1,期望结果(一)
select wm_concat(id) as ID ,wm_concat(name) as NAME from student
group by age having age=20;
--结果如下:
ID NAME
1,2,3 A,C,B
2,期望结果(二)
select wm_concat(id) as ID ,wm_concat(name) as NAME from student
group by age order by age desc;
--结果如下:
ID NAME
1,2,3 A,C,B
4,5 X,Y