From 6514d8a7e2c6c1a8b5fa5cf8596bca4063990c13 Mon Sep 17 00:00:00 2001 From: Dmitriy-Klv Date: Sun, 26 Apr 2026 09:33:58 +0200 Subject: [PATCH] the task #4 from HW #4 was completed --- HWs/DmitriyK/HM4/hm4.db | Bin 0 -> 12288 bytes HWs/DmitriyK/HM4/main.py | 110 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 HWs/DmitriyK/HM4/hm4.db create mode 100644 HWs/DmitriyK/HM4/main.py diff --git a/HWs/DmitriyK/HM4/hm4.db b/HWs/DmitriyK/HM4/hm4.db new file mode 100644 index 0000000000000000000000000000000000000000..e3d1d3fd864065748beb6375b5ff0ba22c577fd5 GIT binary patch literal 12288 zcmeI%L5tHs6ae5!vS~>{@>S_!hc= z6b0EBBZPE0H8~eUmBGs5M6SxQ__R<*tvA(kvZ|hcg3PfzzyJXd009sH0T2KI5C8!X z009vA&jgMR)pD&~S6(?H*qzZN<9y=YE;6)ZUD+Y`3z#Ef3@v%1? zWABmcuHlLi2Xl%aJAU_`<2P@#+t!I{lCqG>Yd48M=*sdMzG>yVSiF-79`51JaOe`p z%X48M=!B=wc9wU_(_8*v)A6_Q1G0^qEGoA5hCUhey*$@Ew#~vm=@FlJT{6PI^NeQ2 zwu*IRDdk$Dp}edYoiFRlNIlX0GXJmrZ?ucYi)a?6ED?;yCumOV{O=YkR{n0TnXi%g z)%++I7$5)wAOHd&00JNY0w4eaAOHd&00L(x(A0EP?;7117gH8b7Hj@r9?xlvgE+#6 zTt=;Hs*Y-Xqr>@Lww1D2(5R@=84X3sV;17wywLH^{keh^Kl$coD&dLTcT zWUc)DUpL<(^N0D_{A9k9Aq)@z0T2KI5C8!X009sH0T2KI5CDNQ6fpG?T2%~Xyq-;2 zDymv_rG#o_L%C0bIJ58C#l5vvt%R=1>?maGJ%&AgKxg*#pWpi*s?XJ`T0)n~hT#T@ g;EDa>&X>yVqCng^*!raY$h{8.2f}") + else: + print(" (No products found in this category)") + + +with Session() as session: + target_product = session.query(Product).filter(Product.name == "Smartphone").first() + if target_product: + target_product.price = 349.99 + session.commit() + print(f"Successfully updated price for: {target_product.name}") + else: + print("Product 'Smartphone' not found.") + + +with Session() as session: + results = ( + session.query(Product.category_id, func.count(Product.id)) + .group_by(Product.category_id) + .all() + ) + for cat_id, count in results: + print(f"Category ID: {cat_id} | Total Products: {count}") + + +with Session() as session: + results = ( + session.query(Product.category_id, func.count(Product.id)) + .group_by(Product.category_id) + .having(func.count(Product.id) > 1) + .all() + ) + + print("\n--- Task 5: Categories with > 1 product ---") + for cat_id, count in results: + print(f"Category ID: {cat_id} | Total Products: {count}")