я следующий оператор SQL теперь:получить ограниченное количество строк в объединенном столбце
SELECT m . *
FROM newsletter_mail_list m
INNER JOIN (
SELECT n.id
FROM newsletter n
GROUP BY n.customer_id
ORDER BY n.id ASC
) b ON m.newsletter_id = b.id
WHERE m.sent_date IS NULL
Список почты Таблица
+--------+-------+--------+--------+-----+
| id | newsletter_id | email | sent_date |
+--------+-------+--------+--------+-----+
| 1 | 8 | abcd | today |
| 2 | 8 | cfdf | NULL |
| 3 | 8 | afdg | NULL |
| 4 | 9 | zfbh | NULL |
| 5 | 9 | eerg | NULL |
| 6 | 9 | ertg | NULL |
| 7 | 9 | zfbh | NULL |
| 8 | 9 | eerg | NULL |
| 9 | 9 | ertg | NULL |
| 10 | 9 | zfbh | NULL |
| 11 | 9 | eerg | NULL |
| 12 | 9 | ertg | NULL |
| 13 | 9 | zfbh | NULL |
| 14 | 9 | eerg | NULL |
| 15 | 9 | ertg | NULL |
| 16 | 9 | zfbh | NULL |
| 17 | 9 | eerg | NULL |
| 18 | 9 | ertg | NULL |
+--------+-------+--------+--------+-----+
Желаемая Result
+--------+-------+--------+--------+-----+
| id | newsletter_id | email | sent_date |
+--------+-------+--------+--------+-----+
| 2 | 8 | cfdf | NULL |
| 3 | 8 | afdg | NULL |
| 4 | 9 | zfbh | NULL |
| 5 | 9 | eerg | NULL |
| 6 | 9 | ertg | NULL |
| 7 | 9 | zfbh | NULL |
| 8 | 9 | eerg | NULL |
| 9 | 9 | ertg | NULL |
| 10 | 9 | zfbh | NULL |
| 11 | 9 | eerg | NULL |
| 12 | 9 | ertg | NULL |
| 13 | 9 | zfbh | NULL |
+--------+-------+--------+--------+-----+
Это один дает мне все строки mail_list, где sent_date является NULL, а зарубежный информационный бюллетень является самым старым из клиентов.
Теперь я хочу, чтобы максимально 10 строк списка mail_list были возвращены ДЛЯ КАЖДОГО бюллетеня, возвращаемого подзапросом.
Пример:
В настоящее время я получаю 21 результаты этого SQL, 3 mail_lists, которые принадлежат к получению новостей 8 и 18 результатов для бюллетеня 9. Но количество результатов на рассылку 9 должен быть только 10.
Как я могу сделать это с помощью SQL? Возможно ли это?
Это здорово видеть, что у Вас есть что-то, но еще лучше ... рассмотрите следующий простой двухэтапный курс действий: 1. Если вы еще этого не сделали, укажите надлежащие DDL (и/или sqlfiddle), чтобы мы могли легче реплицировать проблему. 2. Если вы еще этого не сделали, укажите желаемый набор результатов, который соответствует информации, представленной на шаге 1. – Strawberry
Спасибо @ Струберри, я отредактировал мой вопрос – KhorneHoly