create table test
(
name varchar
,address varchar
,age varchar
)
我要根据age字段重复出现的次数,用desc排序
谢谢!!
(
name varchar
,address varchar
,age varchar
)
我要根据age字段重复出现的次数,用desc排序
谢谢!!
解决方案 »
- Oracle企业管理器启动不了??
- 未选定行
- 求一条sql语句:可以合并上面3个表,变成下面的table123
- 请教高手,有没有数据库关闭前的触发器,谢谢! 急!在线等
- 使用plsql创建数据库时总是出错
- 100分求,怎么把oracle函数传入的参数当作要查询的字段?
- 鸡毛信(分不够再加):IMP-00003: ORACLE 错误1658出现 ORA-01658: 无法为表空间TS01_TABLE中的段创建 INITIAL 区
- 查看ORACLE中有多少个连接被占用
- sql server的數據想轉到ORACLE去,有沒有什麼好方法啊???急用啊!!!!!
- 8i的worksheet和sql plus在功能上各有什么侧重!谢谢
- sql查询的问题
- 关于时间修改的问题
select name,count(*)
from test
group by 1
order by 2 desc
from test
group by name
having count(age)>=1
order by count(age) desc;试试是不是你想要的~~
1)我没有建立和你一样的表,是我自己的表
--Table StructSQL> desc testa;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------
ID NUMBER(3)
NAME VARCHAR2(6)
ADDR VARCHAR2(6)
AGE NUMBER(3)--Datas:SQL> select * from testa; ID NAME ADDR AGE
---------- ------ ------ ----------
3 电子 南京 23
5 物理 北京 23
6 物理 河北 25
1 电脑 上海 23
2 电子 北京 22
4 物理 芜湖 22
7 艺术 上海 21
8 歌剧 苏州 16
9 沈亮 上海 22已选择9行。--SQL CODE:select id,name,m.age,f_time from(select age,count(age) f_time from testa
group by age
)m left join testa n on m.age=n.age
order by m.f_time desc,m.age; ID NAME AGE F_TIME
---------- ------ ---------- ----------
2 电子 22 3
4 物理 22 3
9 沈亮 22 3
1 电脑 23 3
5 物理 23 3
3 电子 23 3
8 歌剧 16 1
7 艺术 21 1
6 物理 25 1已选择9行。
2)这里做了order by m.age意思是要有出现AGE次数相同时 按照年龄ASC排列
Now Another
SQL> select id,name,addr,age,count(*) over(partition by age)times_age
2 from testa
3 order by times_age desc,age,id; ID NAME ADDR AGE TIMES_AGE
---------- ------ ------ ---------- ----------
2 电子 北京 22 3
4 物理 芜湖 22 3
9 沈亮 上海 22 3
1 电脑 上海 23 3
3 电子 南京 23 3
5 物理 北京 23 3
8 歌剧 苏州 16 1
7 艺术 上海 21 1
6 物理 河北 25 1已选择9行。
相对简单些~~
select age,count(1)'数量' from test group by age order by count(1)
看哈這個博客http://jack198409.itpub.net/