Выбор различных параметров для группы с помощью оператора в mysql? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть такой набор данных:

enter image description here

Здесь, в этом наборе данных, нет значения NULL для всех этих 3 столбцов, а также Пара user_name и recording_msid может повторяться, но каждая повторяемая пара будет иметь отдельную временную метку в listened_at.

Примечание. Для отдельных пар (user_name, recording_msid) listened_at может повторяться.

Я пытаюсь сгруппировать по таблице, используя:


SELECT
  user_name, recording_msid, COUNT(*)
FROM
  `listenbrainz.listenbrainz.listen`
GROUP BY
  user_name, recording_msid;

и получить результаты вроде:

enter image description here

Но что я тоже В этом результате нужно еще один столбец listened_at, где каждая строка имеет самое старое значение listened_at для каждой повторяющейся пары (user_name, recording_msid), то есть для каждой строки в таблице ниже.

1 Ответ

3 голосов
/ 04 мая 2020

Но в этом результате я также хочу получить еще один столбец listened_at, где каждая строка имеет самое старое значение listened_at для каждой повторяющейся пары (user_name, recording_msid)

Использование MIN():

SELECT
    user_name, 
    recording_msid, 
    COUNT(*) no_records, 
    MIN(listened_at) min_listened_at
FROM `listenbrainz.listenbrainz.listen`
GROUP BY user_name, recording_msid;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...