易截截图软件、单文件、免安装、纯绿色、仅160KB

面试时的一个sql问题

要求只用一个句sql 查出表中某个字段值出现3次以上的,只显示其中三行数据,少于3次的是多少条就显示多少。

表中数据
col1 text1
11 第一科
12 第一科
21 第二科
31 第三科
32 第三科
33 第三科
34 第三科
12 第二科
35 第三科
结果为
col1 text1  
21 第二
12 第二
31 第三
32 第三
33 第三
11 第一 1
12 第一

请问如果写呢?
SQL code:
SELECT col1,text1
from (SELECT t.*, row_number() over(PARTITION BY text1 ORDER BY col1) rn from t)
WHERE rn <= 3


select * from tab
group by text1
having count(text1)<=3
union 
select * from tab
group by text1
having count(text1)>3
where rownum<=3

引用
SQL code
SELECT col1,text1
from (SELECT t.*, row_number() over(PARTITION BY text1 ORDER BY col1) rn from t)
WHERE rn <= 3


顶起!

--分析函数最好
SQL code:


select col1,text1
from (select col1,text1,row_number() over(partition by text1 order by col1) rn
from tb) a
where rn<=3




Ding

引用 1 楼 tangren 的回复:
SQL code
SELECT col1,text1
fro


相关问答:

jsp链接sql2000的疑问?



type Exception report


message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jas ......

Asp+sql server问题 - Web 开发 / ASP

我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例: ......

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

MS SQL作业问题 - MS-SQL Server / 应用实例

如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP

参考:http://hi.baidu.com/toiota ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号