Bonjour
J'ai une table SQL avec le squelette suivant :

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
CREATE TABLE public.capge
 
(
    artist character varying(500) COLLATE pg_catalog."default",
    album character varying(500) COLLATE pg_catalog."default",
    song_album character varying(500) COLLATE pg_catalog."default",
    date_ecoute timestamp without time zone
)

Cette table contient une liste de son écouté de différents artiste, j'essaye de trouver les artistes les plus écoutés par semaine.
j'ai essayé cette query
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
with t1 as 
(select *, 
row_number() over (partition BY EXTRACT(month from date_ecoute) order by count(song_album) DESC) as rn from capge)
select * from t1
where rn <= 10
j'obtient comme erreur
ERROR: ERREUR: la colonne « capge.artist » doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'agrégat
LINE 2: (select *,
J'utilise PostgreSQL , est ce que quelqu'un pourrait m'aider svp ?