Mysql 唯一行的自连接?

Mysql 唯一行的自连接?,mysql,Mysql,按id、mydate和电子邮件分组后,只有2条记录匹配id=1 我怎样才能做到这一点 有人给了我以下查询,其中第一个ID的计数为2(正确) 但我觉得这个问题很令人困惑,我想一定有更好的办法 select * from hari; +------+------------+-------+ | id | mydate | email | +------+------------+-------+ | 1 | 2009-10-10 | 1111 | | 1 | 2009-

按id、mydate和电子邮件分组后,只有2条记录匹配id=1 我怎样才能做到这一点

有人给了我以下查询,其中第一个ID的计数为2(正确) 但我觉得这个问题很令人困惑,我想一定有更好的办法

select * from hari;
+------+------------+-------+
| id   | mydate     | email |
+------+------------+-------+
|    1 | 2009-10-10 | 1111  | 
|    1 | 2009-10-10 | 1111  | 
|    1 | 2009-10-10 | 2222  | 
|    2 | 2010-11-11 | 3333  | 
|    2 | 2010-11-11 | 3333  | 
+------+------------+-------+
5 rows in set (0.01 sec)

类似于

SELECT * FROM hari WHERE id = 1 GROUP BY email 

(我不太确定要按哪些列分组)

我需要输出中的计数2选择计数(*)、id、mydate、来自hari的电子邮件,其中id=1通过电子邮件分组
CREATE TABLE `hari` (
  `id` int(11) default NULL,
  `mydate` date default NULL,
  `email` varchar(100) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `hari` VALUES (1,'2009-10-10','1111'),(1,'2009-10-10','1111'),(1,'2009-10-10','2222'),(2,'2010-11-11','3333'),(2,'2010-11-11','3333');
SELECT * FROM hari WHERE id = 1 GROUP BY email 
SELECT *,
       COUNT(*)
    FROM hari
    GROUP BY id, mydate, email;