Version 2 (modified by 2 days ago) ( diff ) | ,
---|
Име | SQL Query | Поголемо објаснување |
---|---|---|
Пребарување албуми | Album.objects.filter(titleicontains=search_track).values_list('title', flat=True) | Пребарува албуми кои содржат текст во насловот, враќајќи листа на наслови. |
Сите албуми | Album.objects.all().values_list('title', flat=True) | Враќа листа на сите албуми со нивните наслови. |
Пребарување тракови | Track.objects.filter(nameicontains=search_track).values_list('name', flat=True) | Пребарува тракови кои содржат текст во името, враќајќи листа на имиња. |
Сите тракови | Track.objects.all().values_list('name', flat=True) | Враќа листа на сите тракови со нивните имиња. |
Пребарување артисти | Artist.objects.filter(nameicontains=search_track).values_list('name', flat=True) | Пребарува артисти кои содржат текст во името, враќајќи листа на имиња. |
Сите артисти | Artist.objects.all().values_list('name', flat=True) | Враќа листа на сите артисти со нивните имиња. |
Број тракови по жанр | cursor.execute("SELECT * FROM track_count_per_genre;") | Земa број на тракови по жанр од претходно дефинирана view. |
Просечно времетраење по артист | cursor.execute("SELECT * FROM avg_track_duration_per_artist;") | Земa просечно времетраење на тракови по артист од view. |
Најактивни корисници | cursor.execute("SELECT * FROM rank_list_most_active_customers_view;") | Враќа рангирана листа на најактивни корисници од view. |
Просечна цена по артист | cursor.execute("SELECT * FROM avg_price_per_artist;") | Земa просечна цена по трак за секој артист од view. |
Рангирана листа на артисти | cursor.execute("SELECT * FROM rank_list_artists;") | Враќа рангирана листа на артисти според број на фактури и заработка од view. |
Процент медиумски тип | cursor.execute("SELECT * FROM media_type_percentage;") | Земa процентуална застапеност на секој медиумски тип од view. |
Омилен жанр по корисник | cursor.execute("SELECT * FROM most_listened_genre_per_customer;") | Враќа омилен жанр за секој корисник од view. |
Број на тракови по жанр за корисник | cursor.execute(query, [selected_customer_id]) (genres_per_customer) | Пребарува и брои колку тракови од секој жанр купил/слушал избран корисник, користејќи JOIN меѓу customer, invoice, invoice_line, track и genre. |
Најпопуларен артист по жанр за корисник | cursor.execute(query, [selected_customer_id]) (most_popular_artist_per_customer_per_genre) | Наоѓа кој артист е најпопуларен во секој жанр за избраниот корисник. Се користи CTE (PlayCounts и MaxPlayCounts) за броење на секој жанр и идентификување на највисок број на преслушувања. |
Фактури по корисник по датум | cursor.execute(query, [selected_customer_id, selected_date]) (invoice_per_customer_after_date) | Земa фактури за даден корисник, можност за филтрирање по датум, и пресметува вкупна сума. Ако не е зададен датум, враќа сите фактури на корисникот. |
Масовно ажурирање на надредени | cursor.execute("SELECT batch_update_reports_to(%s::json);", [json_data]) | Ажурира поле reports_to за повеќе вработени одеднаш, користејќи JSON список со employee_id и reports_to_id. |
Додавање тракови во плейлиста | cursor.execute("SELECT add_tracks_to_playlist(%s, %s::json);", [selected_playlist_id, json_data]) | Додава повеќе тракови во избрана плейлиста со JSON список на track_id преку PL/pgSQL функција. |
Додавање линии на фактура | cursor.execute("SELECT add_invoice_lines_to_existing_invoice(%s, %s::json);", [selected_invoice_id, json_data]) | Додава линии на постоечка фактура со JSON список на track_id и quantity преку PL/pgSQL функција. |
Attachments (3)
- genres_per_customer.png (79.5 KB ) - added by 2 days ago.
- invoice_per_customer_after_date.png (95.1 KB ) - added by 2 days ago.
- most_popular_artist_per_customer_per_genre.png (102.3 KB ) - added by 2 days ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.