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