1 | | = SQL Queries со кратки имиња = |
2 | | |
3 | | ||= Име =||= SQL Query =||= Кратко објаснување =|| |
4 | | ||'''Пребарување албуми'''||Album.objects.filter(title__icontains=search_track).values_list('title', flat=True)|| Пребарува албуми по дел од наслов. || |
5 | | ||'''Сите албуми'''||Album.objects.all().values_list('title', flat=True)|| Враќа листа на сите албуми. || |
6 | | ||'''Пребарување тракови'''||Track.objects.filter(name__icontains=search_track).values_list('name', flat=True)|| Пребарува тракови по дел од име. || |
7 | | ||'''Сите тракови'''||Track.objects.all().values_list('name', flat=True)|| Враќа листа на сите тракови. || |
8 | | ||'''Пребарување артисти'''||Artist.objects.filter(name__icontains=search_track).values_list('name', flat=True)|| Пребарува артисти по дел од име. || |
9 | | ||'''Сите артисти'''||Artist.objects.all().values_list('name', flat=True)|| Враќа листа на сите артисти. || |
10 | | ||'''Број тракови по жанр'''||cursor.execute("SELECT * FROM track_count_per_genre;")|| Земa број на тракови по жанр од view. || |
11 | | ||'''Просечно времетраење по артист'''||cursor.execute("SELECT * FROM avg_track_duration_per_artist;")|| Земa просечно времетраење на тракови по артист. || |
12 | | ||'''Најактивни корисници'''||cursor.execute("SELECT * FROM rank_list_most_active_customers_view;")|| Враќа рангирана листа на најактивни корисници. || |
13 | | ||'''Просечна цена по артист'''||cursor.execute("SELECT * FROM avg_price_per_artist;")|| Земa просечна цена по трак за секој артист. || |
14 | | ||'''Рангирана листа на артисти'''||cursor.execute("SELECT * FROM rank_list_artists;")|| Враќа рангирана листа на артисти според број на фактури и заработка. || |
15 | | ||'''Процент медиумски тип'''||cursor.execute("SELECT * FROM media_type_percentage;")|| Земa процент на застапеност на секој медиумски тип. || |
16 | | ||'''Омилен жанр по корисник'''||cursor.execute("SELECT * FROM most_listened_genre_per_customer;")|| Враќа омилен жанр за секој корисник. || |
17 | | ||'''Број на тракови по жанр за корисник'''||cursor.execute(query, [selected_customer_id]) (genres_per_customer)|| Пребарува број на тракови по жанр за даден корисник. || |
18 | | ||'''Најпопуларен артист по жанр'''||cursor.execute(query, [selected_customer_id]) (most_popular_artist_per_customer_per_genre)|| Наоѓа најпопуларен артист по жанр за даден корисник. || |
19 | | ||'''Фактури по корисник по датум'''||cursor.execute(query, [selected_customer_id, selected_date]) (invoice_per_customer_after_date)|| Земa фактури за корисник по даден датум и пресметува вкупен износ. || |
20 | | ||'''Масовно ажурирање на надредени'''||cursor.execute("SELECT batch_update_reports_to(%s::json);", [json_data])|| Ажурира надредени за повеќе вработени преку JSON податоци. || |
21 | | ||'''Додавање тракови во плейлиста'''||cursor.execute("SELECT add_tracks_to_playlist(%s, %s::json);", [selected_playlist_id, json_data])|| Додава повеќе тракови во избрана плейлиста преку JSON. || |
22 | | ||'''Додавање линии на фактура'''||cursor.execute("SELECT add_invoice_lines_to_existing_invoice(%s, %s::json);", [selected_invoice_id, json_data])|| Додава линии на постоечка фактура преку JSON. || |
| 1 | ||= Име =||= SQL Query =||= Поголемо објаснување =|| |
| 2 | ||'''Пребарување албуми'''||Album.objects.filter(title__icontains=search_track).values_list('title', flat=True)|| Пребарува албуми кои содржат текст во насловот, враќајќи листа на наслови. || |
| 3 | ||'''Сите албуми'''||Album.objects.all().values_list('title', flat=True)|| Враќа листа на сите албуми со нивните наслови. || |
| 4 | ||'''Пребарување тракови'''||Track.objects.filter(name__icontains=search_track).values_list('name', flat=True)|| Пребарува тракови кои содржат текст во името, враќајќи листа на имиња. || |
| 5 | ||'''Сите тракови'''||Track.objects.all().values_list('name', flat=True)|| Враќа листа на сите тракови со нивните имиња. || |
| 6 | ||'''Пребарување артисти'''||Artist.objects.filter(name__icontains=search_track).values_list('name', flat=True)|| Пребарува артисти кои содржат текст во името, враќајќи листа на имиња. || |
| 7 | ||'''Сите артисти'''||Artist.objects.all().values_list('name', flat=True)|| Враќа листа на сите артисти со нивните имиња. || |
| 8 | ||'''Број тракови по жанр'''||cursor.execute("SELECT * FROM track_count_per_genre;")|| Земa број на тракови по жанр од претходно дефинирана view. || |
| 9 | ||'''Просечно времетраење по артист'''||cursor.execute("SELECT * FROM avg_track_duration_per_artist;")|| Земa просечно времетраење на тракови по артист од view. || |
| 10 | ||'''Најактивни корисници'''||cursor.execute("SELECT * FROM rank_list_most_active_customers_view;")|| Враќа рангирана листа на најактивни корисници од view. || |
| 11 | ||'''Просечна цена по артист'''||cursor.execute("SELECT * FROM avg_price_per_artist;")|| Земa просечна цена по трак за секој артист од view. || |
| 12 | ||'''Рангирана листа на артисти'''||cursor.execute("SELECT * FROM rank_list_artists;")|| Враќа рангирана листа на артисти според број на фактури и заработка од view. || |
| 13 | ||'''Процент медиумски тип'''||cursor.execute("SELECT * FROM media_type_percentage;")|| Земa процентуална застапеност на секој медиумски тип од view. || |
| 14 | ||'''Омилен жанр по корисник'''||cursor.execute("SELECT * FROM most_listened_genre_per_customer;")|| Враќа омилен жанр за секој корисник од view. || |
| 15 | ||'''Број на тракови по жанр за корисник'''||cursor.execute(query, [selected_customer_id]) (genres_per_customer)|| Пребарува и брои колку тракови од секој жанр купил/слушал избран корисник, користејќи JOIN меѓу customer, invoice, invoice_line, track и genre. || |
| 16 | ||'''Најпопуларен артист по жанр за корисник'''||cursor.execute(query, [selected_customer_id]) (most_popular_artist_per_customer_per_genre)|| Наоѓа кој артист е најпопуларен во секој жанр за избраниот корисник. Се користи CTE (PlayCounts и MaxPlayCounts) за броење на секој жанр и идентификување на највисок број на преслушувања. || |
| 17 | ||'''Фактури по корисник по датум'''||cursor.execute(query, [selected_customer_id, selected_date]) (invoice_per_customer_after_date)|| Земa фактури за даден корисник, можност за филтрирање по датум, и пресметува вкупна сума. Ако не е зададен датум, враќа сите фактури на корисникот. || |
| 18 | ||'''Масовно ажурирање на надредени'''||cursor.execute("SELECT batch_update_reports_to(%s::json);", [json_data])|| Ажурира поле reports_to за повеќе вработени одеднаш, користејќи JSON список со employee_id и reports_to_id. || |
| 19 | ||'''Додавање тракови во плейлиста'''||cursor.execute("SELECT add_tracks_to_playlist(%s, %s::json);", [selected_playlist_id, json_data])|| Додава повеќе тракови во избрана плейлиста со JSON список на track_id преку PL/pgSQL функција. || |
| 20 | ||'''Додавање линии на фактура'''||cursor.execute("SELECT add_invoice_lines_to_existing_invoice(%s, %s::json);", [selected_invoice_id, json_data])|| Додава линии на постоечка фактура со JSON список на track_id и quantity преку PL/pgSQL функција. || |