Changes between Version 1 and Version 2 of querries


Ignore:
Timestamp:
08/31/25 20:18:22 (2 days ago)
Author:
221046
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • querries

    v1 v2  
    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 функција. ||