易截截图软件、单文件、免安装、纯绿色、仅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


相关问答:

csv文件转换成sql导入到数据库,没有数据为何?

执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......

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

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

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

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

如何使用MySQL - MS-SQL Server / 基础类

刚刚接触MySQL,不知道该如何去查看数据,插入数据,创建数据库、表,用哪为前辈能指教一二?

MySQL 5.1参考手册

引用
兄弟你会结贴吗?
mysql 参考手册

baidu

MySQL官方文档 http://dev.mysql.com/doc ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号