使用group by,having子句会让我知道给定的id是否有多条记录。无论如何要知道这两个记录在其他栏目中是如何不同的?查找列值的差异
mysql>select pid, name, city from table1;
+------+-------------+--------+
| pid | name | city |
+------+-------------+--------+
| 1 | aa | delhi |
| 2 | bb | delhi |
| 3 | cc | mumbai |
| 4 | salman | pune |
| 4 | salman khan | pune |
+------+-------------+--------+
5 rows in set (0.00 sec)
mysql>select pid, count(*) as cnt from table1 group by pid having cnt > 1;
+------+-----+
| pid | cnt |
+------+-----+
| 4 | 2 |
+------+-----+
1 row in set (0.00 sec)
预期结果:
+------+-------------+
| pid | name |
+------+-------------+
| 4 | salman |
| 4 | salman khan |
+------+-------------+
2 rows in set (0.00 sec)
我可以用下面的查询实现这一目标...
mysql>select pid, name from table1 where pid=4;
但我怎么会知道这两个行的名称和不同城市是一样的吗? 表中有一个时间戳列,我需要根据该时间排序这些行。给定PID的首次记录将是第一个。
+1对于很好的格式化..... – NAVEED 2011-05-05 07:01:17