我有一个这样的数据集:
在此数据集中,所有这3列都没有NULL
值,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;
并获得类似结果:
但是我在此结果中还想要的是listened_at
的另一列,其中每一行对于每对重复的listened_at
对都具有最旧的(user_name, recording_msid)
值,即下表中的每一行。
但是我在此结果中还想要的是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;