一个sql查询的有关问题

一个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>


                        
  
  
                    
一个sql查询的有关问题

相关文章:

你感兴趣的文章:

标签云: