0
該請求可以根據需要運行,但我明白這不正確,請幫助我理解如何正確地進行類似查詢。如何用相似的子查詢優化Mysql查詢?
注意:選擇
read_date
和選擇auto
重複!
Thx!
SELECT let.letter_from, let.`letter_to`, COUNT(let.`letter_from`) AS sendMail,
(SELECT COUNT(`status`)
FROM letters
WHERE `status` = 1 AND letter_from = 310 AND letter_to = let.`letter_to`
) AS readMail,
(SELECT `read_date`
FROM letters
WHERE letter_from = 310 AND `status` = 1 AND `letter_to` = let.`letter_to`
ORDER BY `read_date` DESC LIMIT 1
) AS dateLastRead,
(SELECT `auto`
FROM letters
WHERE letter_from = 310 AND `status` = 1 AND `letter_to` = let.`letter_to`
ORDER BY `read_date` DESC LIMIT 1
) AS auto
FROM `letters` let
WHERE letter_from = 310
GROUP BY letter_to;
CREATE TABLE `letters` ( `letter_id` int(11) NOT NULL AUTO_INCREMENT, `letter_to` int(11) NOT NULL, `letter_from` int(11) NOT NULL, `letter_send_date` datetime NOT NULL, `status` tinyint(1) NOT NULL, `first_letter` tinyint(1) NOT NULL DEFAULT '0', `auto` tinyint(1) unsigned NOT NULL DEFAULT '0', `answer` tinyint(1) unsigned NOT NULL DEFAULT '0', `read_date` datetime DEFAULT NULL, `answer_date` datetime DEFAULT NULL, `forgetting` tinyint(1) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`letter_id`), KEY `letter_to` (`letter_to`), KEY `letter_from` (`letter_from`) ) ENGINE=InnoDB AUTO_INCREMENT=604 DEFAULT CHARSET=utf8;
insert into `letters`(`letter_id`,`letter_to`,`letter_from`,`letter_send_date`,`status`,`first_letter`,`auto`,`answer`,`read_date`,`answer_date`,`forgetting`) values (482,310,313,'2017-02-10 13:32:56',1,0,0,1,'2017-02-11 12:33:15','2017-02-13 12:28:43',0), (483,310,313,'2017-02-10 13:51:12',1,0,0,1,'2017-02-12 12:33:15','2017-02-10 14:03:46',0), (484,310,313,'2017-02-10 13:52:02',1,0,0,1,'2017-02-11 12:33:15','2017-02-10 14:01:47',0), (485,313,310,'2017-02-10 13:58:03',1,0,0,1,'2017-02-12 12:33:15','2017-02-13 12:39:26',0), (486,313,310,'2017-02-10 14:01:22',1,0,0,1,'2017-02-11 11:33:15','2017-02-13 12:38:47',0), (487,313,310,'2017-02-10 14:03:46',1,0,0,1,'2017-02-12 12:33:15','2017-02-13 12:37:38',0), (488,313,310,'2017-02-10 14:27:53',1,0,0,1,'2017-02-13 11:33:15','2017-02-13 12:34:19',0), (489,313,310,'2017-02-13 12:28:43',1,0,0,1,'2017-02-13 10:33:15','2017-02-13 12:33:15',0), (490,310,313,'2017-02-13 12:33:15',0,0,0,0,NULL,NULL,0), (491,310,313,'2017-02-13 12:34:02',0,0,0,0,NULL,NULL,0), (492,310,313,'2017-02-13 12:36:30',1,0,0,1,'2017-02-13 13:00:21','2017-02-13 13:09:35',0), (493,310,313,'2017-02-13 12:37:38',1,0,0,1,'2017-02-13 13:00:21','2017-02-13 13:06:21',0), (494,310,313,'2017-02-13 12:38:47',1,0,0,1,'2017-02-13 13:00:59','2017-02-13 13:04:59',0), (495,310,313,'2017-02-13 12:39:26',1,0,0,1,'2017-02-13 12:40:41','2017-02-13 12:43:41',0), (496,313,310,'2017-02-13 12:43:41',1,0,0,1,'2017-02-17 12:43:41','2017-03-22 12:26:48',0), (497,313,310,'2017-02-13 12:55:44',1,0,0,1,'2017-02-15 12:55:44','2017-03-22 12:25:36',0), (498,313,310,'2017-02-13 13:02:26',1,0,0,1,'2017-02-15 13:02:26','2017-03-22 12:24:37',0), (499,313,310,'2017-02-13 13:03:55',1,0,0,1,'2017-03-05 15:14:53','2017-03-06 15:14:53',0), (500,313,310,'2017-02-13 13:04:59',1,0,0,1,'2017-02-13 14:20:43','2017-02-13 14:26:43',0), (501,313,310,'2017-02-13 13:06:21',1,0,0,1,'2017-03-05 15:12:35','2017-03-06 15:12:35',0), (502,313,310,'2017-02-13 13:09:34',1,0,0,1,'2017-02-13 13:09:46','2017-02-13 13:10:46',0), (503,310,313,'2017-02-13 13:10:46',0,0,0,0,NULL,NULL,0), (504,310,313,'2017-02-13 14:25:04',0,0,0,0,NULL,NULL,0), (505,310,313,'2017-02-13 14:26:43',0,0,0,0,NULL,NULL,0), (506,310,313,'2017-03-06 15:12:35',0,0,0,0,NULL,NULL,0), (507,310,313,'2017-03-06 15:14:00',0,0,0,0,NULL,NULL,0), (508,310,313,'2017-03-06 15:14:11',0,0,0,0,NULL,NULL,0), (509,310,313,'2017-03-06 15:14:22',1,0,0,1,'2017-03-29 12:53:45','2017-03-29 12:54:21',0), (510,310,313,'2017-03-06 15:14:36',1,0,0,0,'2017-04-21 13:32:15',NULL,0), (511,310,313,'2017-03-06 15:14:42',1,0,0,1,'2017-04-21 13:04:17','2017-04-21 13:04:46',0), (512,310,313,'2017-03-06 15:14:53',1,0,0,1,'2017-03-29 12:53:35','2017-04-21 13:07:17',0), (513,310,313,'2017-03-06 15:16:05',0,0,0,0,NULL,NULL,0), (514,310,313,'2017-03-06 15:16:27',0,0,0,0,NULL,NULL,0), (515,310,313,'2017-03-06 15:16:42',0,0,0,0,NULL,NULL,0), (516,310,313,'2017-03-06 15:17:20',1,0,0,0,'2017-04-21 13:11:01',NULL,0), (517,325,313,'2017-03-06 15:21:59',1,0,0,1,'2017-03-20 12:22:28','2017-03-22 12:22:28',0), (518,312,313,'2017-03-06 15:41:34',1,0,0,1,'2017-03-22 14:07:43','2017-03-22 14:08:11',0), (519,327,313,'2017-03-06 15:52:26',1,0,0,1,'2017-03-20 13:34:38','2017-03-22 11:51:58',0), (520,313,327,'2017-03-22 11:51:58',1,0,0,1,'2017-03-20 12:22:28','2017-03-22 12:32:09',0), (521,313,325,'2017-03-22 12:22:07',1,0,0,1,'2017-03-20 12:22:28','2017-03-22 12:24:01',0), (522,325,313,'2017-03-22 12:24:01',1,0,0,1,'2017-04-21 13:31:22','2017-04-21 13:32:21',0), (523,310,313,'2017-03-22 12:24:37',1,0,0,0,'2017-04-21 13:23:42',NULL,0), (524,310,313,'2017-03-22 12:25:17',1,0,0,1,'2017-04-21 13:03:29','2017-04-21 13:03:45',0), (525,310,313,'2017-03-22 12:26:48',1,0,0,1,'2017-04-21 13:10:23','2017-04-21 13:10:55',0), (526,327,313,'2017-03-22 12:32:09',1,0,0,1,'2017-03-22 12:32:09','2017-03-22 12:33:10',0), (527,313,327,'2017-03-22 12:33:10',1,0,0,1,'2017-03-22 12:33:09','2017-03-22 12:35:59',0), (528,327,313,'2017-03-22 12:35:59',1,0,0,1,'2017-03-22 12:36:09','2017-03-22 12:38:05',0), (529,313,327,'2017-03-22 12:38:05',1,0,0,1,'2017-03-22 12:38:09','2017-03-22 12:38:58',0), (530,327,313,'2017-03-22 12:38:58',0,0,0,0,NULL,NULL,0), (531,326,313,'2017-03-22 13:23:36',0,0,0,0,NULL,NULL,0), (532,310,313,'2017-03-22 13:29:22',1,0,0,1,'2017-03-29 12:53:18','2017-04-21 13:13:46',0), (533,310,311,'2017-03-22 14:03:06',1,0,0,1,'2017-08-03 13:44:16','2017-08-03 13:44:20',0), (534,310,311,'2017-03-22 14:03:24',1,0,0,1,'2017-08-03 13:44:23','2017-08-03 13:44:28',0), (535,329,311,'2017-03-22 14:06:53',0,0,0,0,NULL,NULL,0), (536,313,312,'2017-03-22 14:08:11',1,0,0,1,'2017-03-23 12:22:08','2017-03-27 12:22:08',0), (537,335,313,'2017-03-27 12:20:53',0,0,0,0,NULL,NULL,0), (538,312,313,'2017-03-27 12:22:08',1,0,0,1,'2017-06-28 12:13:32','2017-06-28 12:13:42',0), (539,341,311,'2017-03-27 12:50:39',1,0,0,1,'2017-04-10 13:59:38','2017-06-28 12:12:28',0), (540,325,346,'2017-03-27 13:16:10',1,0,0,1,'2017-04-10 13:02:51','2017-04-10 13:03:04',0), (541,328,346,'2017-03-27 13:19:39',1,0,0,1,'2017-06-28 12:12:39','2017-06-28 12:12:50',0), (542,313,310,'2017-03-29 12:54:21',1,0,0,1,'2017-04-10 13:18:09','2017-04-21 13:18:09',0), (543,346,325,'2017-04-10 13:03:04',1,0,0,0,'2017-04-14 13:03:04',NULL,0), (544,354,352,'2017-04-21 12:34:45',1,0,0,1,'2017-05-11 13:20:32','2017-05-12 13:17:54',0), (545,335,352,'2017-04-21 12:35:24',1,0,0,1,'2017-05-11 13:20:32','2017-05-12 13:20:32',0), (546,313,310,'2017-04-21 13:03:45',1,0,1,0,'2017-04-26 13:13:46',NULL,0), (547,313,310,'2017-04-21 13:04:46',1,0,0,0,'2017-04-25 13:13:46',NULL,0), (548,313,310,'2017-04-21 13:07:17',1,0,0,0,'2017-04-22 13:13:46',NULL,0), (549,313,310,'2017-04-21 13:10:55',1,0,0,0,'2017-04-22 13:13:46',NULL,0), (551,313,310,'2017-04-21 13:13:46',1,0,1,0,'2017-04-23 13:13:46',NULL,0), (552,310,313,'2017-04-21 13:18:09',1,0,0,1,'2017-04-21 13:19:21','2017-04-21 13:19:57',0), (553,313,310,'2017-04-21 13:19:57',0,0,0,0,NULL,NULL,0), (554,313,325,'2017-04-21 13:32:21',0,0,0,0,NULL,NULL,0), (555,313,310,'2017-04-21 15:01:43',0,0,0,0,NULL,NULL,0), (556,352,354,'2017-05-12 13:14:47',3,1,0,0,NULL,NULL,0), (557,341,376,'2017-05-12 13:16:46',1,0,0,1,'2017-05-26 13:57:04','2017-05-26 13:57:22',0), (558,312,376,'2017-05-12 13:16:55',0,0,0,0,NULL,NULL,0), (559,352,354,'2017-05-12 13:17:54',0,0,0,0,NULL,NULL,0), (560,327,376,'2017-05-12 13:19:18',0,0,0,0,NULL,NULL,0), (561,352,335,'2017-05-12 13:19:56',3,1,0,0,NULL,NULL,0), (562,352,335,'2017-05-12 13:20:04',0,0,0,0,NULL,NULL,0), (563,352,335,'2017-05-12 13:20:13',0,0,0,0,NULL,NULL,0), (564,352,335,'2017-05-12 13:20:32',0,0,0,0,NULL,NULL,0), (566,377,335,'2017-05-12 13:29:30',1,1,0,1,'2017-05-12 12:29:52','2017-05-12 13:29:52',0), (567,335,377,'2017-05-12 13:29:52',0,0,0,0,NULL,NULL,0), (568,376,335,'2017-05-12 13:30:41',3,1,0,0,NULL,NULL,0), (569,376,335,'2017-05-12 13:30:47',0,0,0,0,NULL,NULL,0), (570,376,341,'2017-05-26 13:57:22',0,0,0,0,NULL,NULL,0), (571,376,341,'2017-05-30 16:02:58',0,0,0,0,NULL,NULL,0), (572,328,352,'2017-06-17 13:24:49',1,0,0,1,'2017-06-28 12:13:01','2017-06-28 12:13:07',0), (573,328,352,'2017-06-17 13:25:21',1,0,0,1,'2017-06-28 12:13:02','2017-06-28 12:13:18',0), (576,341,381,'2017-06-23 14:19:48',1,0,0,1,'2017-06-28 12:10:58','2017-06-28 12:11:13',0), (577,341,381,'2017-06-23 14:20:01',1,0,0,1,'2017-06-28 12:11:25','2017-06-28 12:11:40',0), (578,313,327,'2017-06-24 14:42:53',0,0,0,0,NULL,NULL,0), (579,313,327,'2017-06-24 14:43:38',0,0,0,0,NULL,NULL,0), (580,327,376,'2017-06-28 12:03:59',0,0,0,0,NULL,NULL,0), (581,341,376,'2017-06-28 12:04:24',0,0,0,0,NULL,NULL,0), (582,341,376,'2017-06-28 12:04:48',0,0,0,0,NULL,NULL,0), (583,341,376,'2017-06-28 12:05:03',0,0,0,0,NULL,NULL,0), (584,381,341,'2017-06-28 12:11:13',0,0,0,0,NULL,NULL,0), (585,381,341,'2017-06-28 12:11:40',0,0,0,0,NULL,NULL,0), (586,311,341,'2017-06-28 12:12:27',0,0,0,0,NULL,NULL,0), (587,346,328,'2017-06-28 12:12:50',0,0,0,0,NULL,NULL,0), (588,352,328,'2017-06-28 12:13:07',0,0,0,0,NULL,NULL,0), (589,352,328,'2017-06-28 12:13:18',0,0,0,0,NULL,NULL,0), (590,313,312,'2017-06-28 12:13:42',0,0,0,0,NULL,NULL,0), (591,327,387,'2017-06-28 12:27:41',0,0,0,0,NULL,NULL,0), (592,327,381,'2017-07-03 14:25:24',0,0,0,0,NULL,NULL,0), (593,341,389,'2017-07-08 12:58:46',1,0,0,0,'2017-07-09 12:58:46',NULL,0), (594,311,310,'2017-08-03 13:44:20',0,0,0,0,NULL,NULL,0), (595,311,310,'2017-08-03 13:44:28',0,0,0,0,NULL,NULL,0), (596,391,310,'2017-08-03 14:07:19',1,1,0,0,'2017-08-04 14:07:19',NULL,0), (597,391,310,'2017-08-10 15:07:26',1,1,0,1,'2017-08-20 13:44:30','2017-08-28 13:44:30',0), (598,310,389,'2017-08-04 11:40:08',0,0,0,0,NULL,NULL,0), (599,310,369,'2017-08-17 17:24:26',1,0,0,1,'2017-08-17 17:25:16','2017-08-17 17:30:31',0), (600,369,310,'2017-08-17 17:30:31',1,0,0,0,'2017-08-18 17:30:31',NULL,0), (601,310,390,'2017-08-28 13:44:30',0,0,0,0,NULL,NULL,0), (602,310,391,'2017-08-28 13:54:47',0,0,0,0,NULL,NULL,0), (603,327,391,'2017-08-28 13:55:19',0,0,0,0,NULL,NULL,0);
請參閱[爲什麼我應該提供一個MCVE來處理我認爲是非常簡單的SQL查詢](http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve - 對於什麼似乎對我來說是一個非常簡單的SQL查詢) – Strawberry
你確定你想要計數狀態不是1的sendmails,或者應該是在底部的where條件? – trincot