diff --git a/lib/music_library/collection.ex b/lib/music_library/collection.ex index 198188df..625fb87b 100644 --- a/lib/music_library/collection.ex +++ b/lib/music_library/collection.ex @@ -71,6 +71,16 @@ defmodule MusicLibrary.Collection do q |> Repo.all() end + def count_records_by_genre do + q = + from r in fragment("records, json_each(records.genres)"), + group_by: r.value, + order_by: [desc: count(r.value)], + select: %{genre: r.value, count: count(r.value)} + + q |> Repo.all() + end + defp base_search do from r in SearchIndex, where: not is_nil(r.purchased_at)