У меня есть таблица со следующими типами и информацией.Получить всех отличных пользователей - MySql
product_id | user_id | product | date_opened
1 | 10 | shoes | 2016-04-01
2 | 26 | shoes | 2016-04-01
3 | 10 | watch | 2016-04-01
4 | 23 | shoes | 2016-04-01
5 | 10 | shoes | 2016-01-01
6 | 13 | watch | 2016-01-01
7 | 14 | shoes | 2015-11-02
8 | 10 | slippers| 2015-11-02
9 | 10 | shoes | 2015-11-02
10 | 15 | watch | 2015-11-02
11 | 19 | watch | 2015-09-03
12 | 19 | watch | 2015-03-02
13 | 19 | shoes | 2015-01-03
Пользователи могут покупать товары, если они открыты. date_open
- это циклы даты. пользователи могут купить как можно больше товаров, например user_id
, пользователь имеют 2 изделия по циклу 2016-04-01. Один продукт - 2016-01-01, два - 2015-11-02.
Теперь я хотел бы получить все (отличный) user_id , которые являются активными/есть продукты на все предыдущий 3 цикл дата (2016-04-01, 2016-01-01 и 2015- 11-02).
Обратите внимание, что пользователь может иметь много продуктов в цикле.
Дополнительно: Активный - должны последовательно иметь продукты в 3 набор dates
и без пропуска. Таким образом, он должен показать всех пользователей с продуктами на дату 2016-04-01 и 2016-01-01 и 2015-11-02. Не пользователь с продуктами только в 1 или 2 датах.
Другая проблема: Пример: У меня есть пользователи с разными датами (2000-04-05, 2001-09-03, 2006-09-01, 2015-11-02 и т. Д.). Я просто хочу получить здесь все те пользователи с датами ('2016-04-01', '2016-01-01', '2015-11-02').
Используйте 'GROUP BY' при чтении [эта тема] (http://stackoverflow.com/questions/164319/is- there-any-difference-between-group-by-and-distinct) и [группа по странице руководства] (https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html) – Martin