Выберите запрос с базой данных MySQL, где должен быть выбран отдельный идентификатор участника с наименьшим временем регистрации… Как я могу это сделать?

#mysql #select #join #distinct

#mysql #выберите #Присоединиться #отдельный

Вопрос:

Я пытаюсь работать над запросом, в котором схема моей базы данных выглядит следующим образом:

 MEMBER TABLE

member_id----------member_name--------member_nickname

    1              prashant             prash
    2              christopher          chris
    3              nick                 nick
    4              harvey               harvey

----------------------------------------------------------

CHECKIN TABLE

checkin_id------------------member_id------------------reg_on

    1                      1             1287713712
    2                      1             1287723999
    3                      2             1287733712
    4                      1             1287735912
    5                      3             1287803712
    6                      2             1287833712
  

Теперь, когда я выбираю разных пользователей, я хочу объединить обе таблицы, чтобы увидеть следующий результат:

 member_id----------------member_name---------------reg_on

   1------------------------------prashant -----------------1287713712

   2------------------------------christopher---------------1287733712

   3------------------------------nick------------------------1287803712
  

Пожалуйста, помогите!!!

Ответ №1:

Редактировать Не знаю, о чем я думал, усложняя мой предыдущий ответ…

Это простой JOIN с агрегированным:

 SELECT
  m.member_id,
  m.member_name,
  MIN(c.reg_on) AS reg_on
FROM
  MEMBER m JOIN CHECKIN c ON m.member_id = c.member_id
GROUP BY m.member_id, m.member_name
  

Ответ №2:

Если вы select и group by контрольная таблица, которая предоставит вам нужные данные, затем join обратитесь к таблице участников для заполнения остальной части запроса.

 SELECT c.member_id, m.member_name, MIN(c.reg_on) AS reg_on
FROM checkin c
   JOIN member m ON m.member_id = c.member_id
GROUP BY c.reg_on
ORDER BY c.member_id;
  

Дополнительный выбор не требуется.

Комментарии:

1. … и я был медленным. Мой ответ эквивалентен ответу Майкла.