免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hh11
打印 上一主题 下一主题

求一个分组的sql语句。试了很长时间,没有好方法以。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-09-10 22:33 |只看该作者
mysql> select * from t1;
+------+------+------+------+
| id   | a    | b    | c    |
+------+------+------+------+
|    1 |    1 |    3 |    3 |
|    1 |    1 |    1 |    1 |
|    1 |    2 |    2 |    2 |
|    1 |    2 |    4 |    4 |
|    2 |    1 |    1 |    1 |
|    2 |    1 |    3 |    3 |
|    2 |    2 |    2 |    2 |
|    2 |    2 |    4 |    4 |
+------+------+------+------+
8 rows in set (0.00 sec)

mysql> select x.num,t1.* from t1 left join (select t1.id,t1.a,min(t1.b)b,t2.num from t1 left join (select id,a,count(b) num from t1 group by id,a)t2 on t1.id=t2.id group by t1.id,t1.a)x on t1.id=x.id where t1.a=x.a and t1.b=x.b;
+------+------+------+------+------+
| num  | id   | a    | b    | c    |
+------+------+------+------+------+
|    2 |    1 |    1 |    1 |    1 |
|    2 |    1 |    2 |    2 |    2 |
|    2 |    2 |    1 |    1 |    1 |
|    2 |    2 |    2 |    2 |    2 |
+------+------+------+------+------+
4 rows in set (0.18 sec)

mysql>
这个可以了罢,我假设id是关键字了

论坛徽章:
0
12 [报告]
发表于 2007-09-10 22:34 |只看该作者
我加了一个字段

论坛徽章:
0
13 [报告]
发表于 2007-09-10 22:46 |只看该作者
我四楼的语句已经实现,你的这个写法我没验证,但感觉效率可能不高,太复杂了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP