diff --git a/music_library.livemd b/music_library.livemd index 951a0e62..8e853270 100644 --- a/music_library.livemd +++ b/music_library.livemd @@ -20,9 +20,7 @@ opts = [ {:ok, conn} = Kino.start_child({Exqlite, opts}) ``` -## Aggregates - -### Number of releases per record +## Number of releases per record @@ -43,7 +41,7 @@ count_by_releases = ) ``` -### Count of records per artist +## Count of records per artist @@ -72,7 +70,7 @@ VegaLite.new(width: 600, title: "Count by Artist") |> VegaLite.encode_field(:y, "name", type: :nominal) ``` -### Count of records by genre +## Count of records by genre @@ -109,3 +107,25 @@ VegaLite.new(width: 600, title: "Count by genre") |> VegaLite.encode_field(:x, "c", type: :quantitative) |> VegaLite.encode_field(:y, "value", type: :nominal) ``` + +## All unique genres + + + +```elixir +genres = + Exqlite.query!( + conn, + ~S""" + select distinct genre.value + from records, json_each(records.genres) genre + ; + + """, + [] + ) +``` + +```elixir +Enum.join(genres.rows, ",") +```