免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1806 | 回复: 8
打印 上一主题 下一主题

求sql写法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-12 11:03 |只看该作者 |倒序浏览
create table testtab
(
   col1 integer,
   col2 integer,
   value integer
);

现按col1聚类,想取出对应min(value)的col2值。

即:
select col1, min(value)
from testtab
group by col1;
可以取出min(value),但还想进一步获得取min(value)时对应的col2值。

不知道说明白了没有,有没有简单的sql语句可以实现该需求?

论坛徽章:
0
2 [报告]
发表于 2004-04-12 11:17 |只看该作者

求sql写法

select col1, col2 where col1=刚才的min;
你sub query 也可以

论坛徽章:
0
3 [报告]
发表于 2004-04-12 11:28 |只看该作者

求sql写法

是,多谢。我用
select t1.col1, t1.col2 from testtab t1
where t1.value=
( select min(t2.value) from testtab t2 where t2.value=t1.value );

可以实现。有些慢,有别的方法吗?

论坛徽章:
0
4 [报告]
发表于 2004-04-12 11:57 |只看该作者

求sql写法

在一个sql里只有这样了,要不你写个小程序,就快很多!

论坛徽章:
0
5 [报告]
发表于 2004-04-12 12:27 |只看该作者

求sql写法

上面实现的sql有问题,会把value相同的但不同的col1/col2都选择进来,结果比正常值放大不少。

问题怎么解决呢?

论坛徽章:
0
6 [报告]
发表于 2004-04-12 16:44 |只看该作者

求sql写法

不明白你为什么不这么写,一定要按col1吗???目的是什么

select col1,col2 ,min(value) from table

group by 1,2 不能满足你的要求吗?

论坛徽章:
0
7 [报告]
发表于 2004-04-12 18:07 |只看该作者

求sql写法

不满足要求,不想得到每个col1,col2对应的最小value,想得到的是对应每个col1,取最小value时的col2。

假设表中col1有10个唯一值,每个col1对应5个col2值,前者返回50条记录,后者返回10条记录。

论坛徽章:
0
8 [报告]
发表于 2004-04-12 23:02 |只看该作者

求sql写法

你的value和col2之间有什么必然的联系没有

论坛徽章:
0
9 [报告]
发表于 2004-04-13 10:31 |只看该作者

求sql写法

说得不清不楚,你最好把测试表得内容都贴出来,然后说出你要得到得结果,就可以帮你搜出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP