首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

一个sql查询的有关问题

2012-08-07 
一个sql查询的问题有表如下主键字段A字段B1a1111112b1111113c2222224d2222225a1111116c1111117f1111118a22

一个sql查询的问题
有表如下
主键 字段A 字段B
  1 a 111111
  2 b 111111
  3 c 222222
  4 d 222222
  5 a 111111
  6 c 111111 
  7 f 111111 
  8 a 222222 
  9 c 222222

希望得到的结果是
1 a 111111
3 c 222222
5 a 111111
9 c 222222
因为字段B只能属于一个字段A的值。以字段B分组。第一次出现的字段A和字段B组合为合法的(例如id为1、5的a和id为3的c)
不是第一次出现的字段A+字段B组合不查询出来。
表达的不是很清楚,看看得到的结果大概是这样。希望帮一下忙。谢谢!

 

[解决办法]

SQL code
mysql> select * from woaiyingyu321;+----+------+--------+| id | a    | b      |+----+------+--------+|  1 | a    | 111111 ||  2 | b    | 111111 ||  3 | c    | 222222 ||  4 | d    | 222222 ||  5 | a    | 111111 ||  6 | c    | 111111 ||  7 | f    | 111111 ||  8 | a    | 222222 ||  9 | c    | 222222 || 10 | f    | 333333 || 11 | a    | 222222 || 12 | a    | 444444 |+----+------+--------+12 rows in set (0.04 sec)mysql> select *    -> from woaiyingyu321    -> where (a,b) in (select a,b from woaiyingyu321 group by b);+----+------+--------+| id | a    | b      |+----+------+--------+|  1 | a    | 111111 ||  3 | c    | 222222 ||  5 | a    | 111111 ||  9 | c    | 222222 || 10 | f    | 333333 || 12 | a    | 444444 |+----+------+--------+6 rows in set (0.10 sec)mysql> 

热点排行