  SQL. 18    
 


      SQL.  18    :  , , , , , , , ,  ,     .     SQLite.





 

  SQL. 18    





  





    


   , ,   ,       .

    SQL-   :  ,  ,  ,   .

 ,   :       , CRM  .




  


   : , ,  ,   .

 ,     ,     .

    SQLite    ,       .




  


1.    (#task-1)

2.    (#task-2)

3.     (#task-3)

4.    (#litres_trial_promo)

5.     (#litres_trial_promo)

6.     (#litres_trial_promo)

7.     (#litres_trial_promo)

8.     (#litres_trial_promo)

9.     (#litres_trial_promo)

10.     (#litres_trial_promo)

11.    (#litres_trial_promo)

12.     (#litres_trial_promo)

13.       (#litres_trial_promo)

14.    SKU   (#litres_trial_promo)

15.    (#litres_trial_promo)

16.    (#litres_trial_promo)

17.     (#litres_trial_promo)

18.      (#litres_trial_promo)




 





 1.   



 

       ,    .




CREATE TABLE orders(order_id INTEGER, status TEXT, amount INTEGER);

INSERT INTO orders VALUES (1,'paid',900),(2,'created',500),(3,'paid',700),(4,'cancelled',400);




SELECT COUNT(*) AS paid_orders

FROM orders

WHERE status = 'paid';


 

[[2]]


 

WHERE      paid,  COUNT   .

     ,         SQLite.

 ORDER BY      ,        .


  

COUNT(*)       ,        .


 

    ?        .

:  : 1  3.        .




 2.   



 

    ,     ,     .




CREATE TABLE orders(order_id INTEGER, paid_at TEXT, status TEXT, amount INTEGER);

INSERT INTO orders VALUES

(1,'2026-09-01','paid',900),(2,'2026-09-01','cancelled',500),

(3,'2026-09-02','paid',700),(4,'2026-09-02','paid',300);




SELECT paid_at, SUM(amount) AS revenue

FROM orders

WHERE status = 'paid'

GROUP BY paid_at

ORDER BY paid_at;


 

[["2026-09-01", 900], ["2026-09-02", 1000]]


 

  paid   ,        .

     ,         SQLite.

 ORDER BY      ,        .


  

    ,       .


 

  2026-09-02?        .

: 1000: 700  300.        .




 3.    



 

 ,    : , ,   .




CREATE TABLE orders(order_id INTEGER, status TEXT);

INSERT INTO orders VALUES (1,'created'),(2,'paid'),(3,'paid'),(4,'delivered'),(5,'cancelled');




SELECT status, COUNT(*) AS orders_count

FROM orders

GROUP BY status

ORDER BY status;


 

[["cancelled", 1], ["created", 1], ["delivered", 1], ["paid", 2]]


 

GROUP BY status        .

     ,         SQLite.

 ORDER BY      ,        .


  

            .




  .


   .

   ,     (https://www.litres.ru/book/raznoe/zakazy-v-sql-18-zadach-dlia-kontrolia-prodazh-74419953/)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .


