DISTINCT  SQL. 18     
 


   DISTINCT    SQL     .  18    :  , COUNT DISTINCT,  ,  ,  ,  DISTINCT  GROUP BY,   JOIN    .     SQLite.





 

DISTINCT  SQL. 18     





  





 DISTINCT     


   ,    DISTINCT.   ,   DISTINCT       JOIN.

    :  ,  SKU,        .

      DISTINCT,     :   ,         .




  


    :       . DISTINCT     .

    ,  COUNT(DISTINCT ...).     ,   GROUP BY   .

    SQLite.   DISTINCT, GROUP BY        SQL-.




  


1.      (#task-1)

2.     (#task-2)

3.      (#task-3)

4.   SKU   (#litres_trial_promo)

5.      (#litres_trial_promo)

6.      (#litres_trial_promo)

7.      (#litres_trial_promo)

8.  DISTINCT  GROUP BY (#litres_trial_promo)

9.    JOIN (#litres_trial_promo)

10.    SKU (#litres_trial_promo)

11.     (#litres_trial_promo)

12.      (#litres_trial_promo)

13.    UNION (#litres_trial_promo)

14.    UNION ALL (#litres_trial_promo)

15.   email (#litres_trial_promo)

16.       (#litres_trial_promo)

17.     (#litres_trial_promo)

18.     (#litres_trial_promo)




 





 1.     



 

     ,      .




CREATE TABLE orders(id INTEGER, client_id INTEGER);

INSERT INTO orders VALUES (1,10),(2,10),(3,20),(4,30),(5,20);




SELECT DISTINCT client_id

FROM orders

ORDER BY client_id;


 

[[10], [20], [30]]


 

DISTINCT    client_id.

   10    .

ORDER BY     .


  

  id   SELECT,    ,   DISTINCT     .


 

  20   ,     ?

:    SELECT   client_id,  DISTINCT    .




 2.    



 

   :        .




CREATE TABLE orders(id INTEGER, client_id INTEGER);

INSERT INTO orders VALUES (1,10),(2,10),(3,20),(4,30),(5,20);




SELECT COUNT(DISTINCT client_id) AS unique_clients

FROM orders;


 

[[3]]


 

COUNT(DISTINCT client_id)    client_id.

 10  20  ,     .

   3: 10, 20  30.


  

COUNT(*)      :   ,     .


 

    COUNT(*)   ?

: COUNT(*)   5,       .




 3.     



 

 ,       ,   .




CREATE TABLE purchases(id INTEGER, client_id INTEGER, sku TEXT);

INSERT INTO purchases VALUES (1,10,'A1'),(2,10,'A1'),(3,10,'B2'),(4,20,'A1');




SELECT DISTINCT client_id, sku

FROM purchases

ORDER BY client_id, sku;


 

[[10, "A1"], [10, "B2"], [20, "A1"]]


 

DISTINCT     .

  10-A1    .




  .


   .

   ,     (https://www.litres.ru/book/raznoe/distinct-v-sql-18-zadach-pro-dubli-i-unikal-nost-74419668/)  .

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


