免费注册 查看新帖 |

Chinaunix

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

求助:这个query怎么写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-03 11:42 |只看该作者 |倒序浏览
表格T:

f1   f2
=   =
1    m
1    n
2    p
2    q

要求写一个query得到下面的输出:

1    m    n
2    p     q

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
2 [报告]
发表于 2009-04-03 11:53 |只看该作者
1.取出单独f2 DISTINCT/group by都可以 做为一个表
2.与现有表关联一下即可。

论坛徽章:
0
3 [报告]
发表于 2009-04-03 12:04 |只看该作者
原帖由 枫影谁用了 于 2009-4-3 11:53 发表
1.取出单独f2 DISTINCT/group by都可以 做为一个表
2.与现有表关联一下即可。


老大,能不能写详细点,我没用过sql

论坛徽章:
0
4 [报告]
发表于 2009-04-03 12:23 |只看该作者
这个不太好实现,是个纵表转横表的问题,在程序里比较好实现,用sql需要写存储过程之类的实现

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
5 [报告]
发表于 2009-04-03 13:09 |只看该作者
原帖由 gtaww 于 2009-4-3 12:04 发表


老大,能不能写详细点,我没用过sql :em03:

你一楼的数据为准,同id不同f2值不超2.

mysql> select aa.id,aa.v1,bb.v1 from  ( select a.`id` ,min(a.v1)  as v1  from     a1  as a group by  a.`id` ) as aa,  ( select a.`id` ,max(a.v1) as v1  from     a1  as a group by  a.`id` ) as bb  where aa.id=bb.id;
+------+------+------+
| id   | v1   | v1   |
+------+------+------+
|    1 | m    | n    |
|    2 | p    | q    |
+------+------+------+
2 rows in set (0.00 sec)

mysql> select * from a1;
+------+------+
| id   | v1   |
+------+------+
|    1 | m    |
|    1 | n    |
|    2 | p    |
|    2 | q    |
+------+------+
4 rows in set (0.00 sec)

mysql>


[ 本帖最后由 枫影谁用了 于 2009-4-3 13:10 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP