这条sql该如何写
a b c d e
24 43 1 34 5
24 43 1 3 45
24 43 1 2 2
25 88 2 43 2
25 88 2 32 32
25 88 2 23 1
。
我需要把这个表中的
相同的a 相同的b 和相同的c 一般就3行(也仅仅3行)形成一个分组
如上表 当a=24, b=43,c=1 有3行,那么他形成一个分组
当a=25,b=88,c=2 有3行,那么他形成一个分组
如果仅仅2行3个字段相同,不需要他形成分组 ,可以不显示这个语句该如何写
a b c d e
24 43 1 34 5
24 43 1 3 45
24 43 1 2 2
25 88 2 43 2
25 88 2 32 32
25 88 2 23 1
。
我需要把这个表中的
相同的a 相同的b 和相同的c 一般就3行(也仅仅3行)形成一个分组
如上表 当a=24, b=43,c=1 有3行,那么他形成一个分组
当a=25,b=88,c=2 有3行,那么他形成一个分组
如果仅仅2行3个字段相同,不需要他形成分组 ,可以不显示这个语句该如何写
现在简单点 只要求能a b c的值分组有2行以上的显示出来就可以啦
+------+------+------+------+------+
| a | b | c | d | e |
+------+------+------+------+------+
| 24 | 43 | 1 | 34 | 5 |
| 24 | 43 | 1 | 3 | 45 |
| 24 | 43 | 1 | 2 | 2 |
| 25 | 88 | 2 | 43 | 2 |
| 25 | 88 | 2 | 32 | 32 |
| 25 | 88 | 2 | 23 | 1 |
+------+------+------+------+------+
6 rows in set (0.00 sec)mysql> select * from t_liyihongcug
-> where (a,b,c) in (
-> select a,b,c from t_liyihongcug
-> group by a,b,c
-> having count(*)>2
-> )
-> order by a,b,c;
+------+------+------+------+------+
| a | b | c | d | e |
+------+------+------+------+------+
| 24 | 43 | 1 | 34 | 5 |
| 24 | 43 | 1 | 3 | 45 |
| 24 | 43 | 1 | 2 | 2 |
| 25 | 88 | 2 | 43 | 2 |
| 25 | 88 | 2 | 32 | 32 |
| 25 | 88 | 2 | 23 | 1 |
+------+------+------+------+------+
6 rows in set (0.00 sec)mysql>