ორი პატიმარი სხვადასხვა კამერაში ყრის მონეტას და, მხოლოდ საკუთარი მონეტის შედეგს ხედავს, უნდა თქვან მეზობლის მონეტის შედეგი. თუ მინიმუმ ერთმა სწორად გამოიცნო, ორივეს გაათავისუფლებენ; თუ ორივე შეცდება, მოკლავენ. რა პასუხის სტრატეგიას უნდა აირჩიონ, რათა 100% სარწმუნოობით გადარჩნენ?
Data Analyst
როგორ გავზომოთ ზუსტად 4 ლიტრი 3 და 5 ლიტრიანი ჭურჭლებით და უსასრულო წყაროს გამოყენებით?
შეთავაზეთ ალგორითმი, რომელიც ყოველ 15 წუთში ზარის ტრაფიკის და აბონენტების გეოლოკაციის მონაცემების საფუძველზე განსაზღვრავს, ცხოვრობენ თუ არა ორი აბონენტი ერთად.
რომელი სიმბოლო უნდა იყოს მითითებული SELECT-ის შემდეგ ყველა სვეტისთვის?
თქვენ იცით მათემატიკური სტატისტიკა და იყენებდით A/B ტესტირებას პრაქტიკაში? რა სახის საშუალო მნიშვნელობებს იცით?
როგორ დავტოვოთ მხოლოდ ის კატეგორიები, რომლებმაც ჯამში 100 რუბლზე მეტი შემოსავალი გამოიღეს?
გითთან მუშაობდი ოდესმე?
გაიცანით, განსხვავდება თუ არა შემდეგი შეკითხვების მიერ დაბრუნებული შედეგები? 1 select * from A left join B on A.id = B.id and B.val = 'A' 2 select * from A left join B on A.id = B.id where B.val = 'A'
შეთავაზეთ ალგორითმი აბონენტის დაბადების დღის განსაზღვრისთვის, მხოლოდ ზარებისა და SMS-ების ჟურნალი: შემომავალი და გამომავალი ნომრები, თარიღი-დრო, ხანგრძლივობა და მოვლენის ტიპი.
წინასწარ წარმოდგენილია tables product (ინფორმაცია იმის შესახებ, რომელ კატეგორიას მიეკუთვნება პროდუქტი მითითებულ დროის მონაკვეთში) და sale (პროდუქტის გაყიდვების ფაქტები, გაყიდვის თარიღი, ერთეულის ფასი და შეძენილი ერთეულების რაოდენობა): select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |პროდუქტი 1|კატეგორია 1|[phone]|[phone]| |პროდუქტი 1|კატეგორია 2|[phone]|[phone]| |პროდუქტი 2|კატეგორია 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|პროდუქტი 1|10 |5 | |[phone]|პროდუქტი 1|15 |2 | |[phone]|პროდუქტი 4|15 |2 | |[phone]|პროდუქტი 3|15 |2 | |[phone]|პროდუქტი 2|10.9 |300| |[phone]|პროდუქტი 1|12.7 |7 | უნდა დაწეროთ შეკითხვა, რომელიც აბრუნებს თითოეული კატეგორიის საერთო შემოსავალს: |prod_cat |total_amt| |----------|---------| |კატეგორია 1|80 | |კატეგორია 2|84 | |კატეგორია 3|270 |
როგორ დავყოთ პროდუქციის გაყიდვები, რომლებიც არც ერთ კატეგორიას არ ეკუთვნის, კატეგორია «სხვა»-ში?
Категориялар боюнча жалпы кирешени кайтарган суроо жазуу керек: |prod_cat |total_amt | |Категория 1|80 | |Категория 2|84 | |Категория 3|270 | Түзмөктөрдүн жазуулары ар башка убакта келген абоненттер таблицасы бар. Жазуунун жүктөлгөн датасы raw_dt талаасында аныкталган: select * from abnt |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|4375 |4979 |[phone]| |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|5842 |589783|[phone]| |2 |[phone]|4563 |5326 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| |3 |[phone]|5495 |7485 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Ключу id боюнча экинчи акыркы жүктөлгөн жазууну кайтарган суроо жазуу керек: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Абоненттин өзгөрүүлөрүнүн тарыхы бар таблица бар. Ар бир жазуу valid_from_dt менен valid_to_dt интервалында иштейт. Эгер бир жазуу жабылса, кийинки жазуу ошол дата менен башталат. Ар бир абонент үчүн [valid_from_dt, valid_to_dt] интервалында бир гана иштеп жаткан жазуу болушу керек. select * from abnt |id |valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |1 |[phone] |[phone] |[phone]|4375 |4979 | |2 |[phone] |[phone] |[phone]|5842 |589783| |2 |[phone] |[phone] |[phone]|4563 |5326 | |3 |[phone] |[phone] |[phone]|4563 |0832 | Необходимо написать запрос, который вернет те записи, у которых некорректная дата закрытия. |id |valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |2 |[phone] |[phone] |[phone]|5842 |4979 | |2 |[phone] |[phone] |[phone]|4563 |5326 | with ranked as ( select msisdn, tarif_plan_id, account_id, raw_dt, row_number() over (partition by id order by raw_dt desc) as rn ) select id, msisdn, tarif_plan_id, account_id, raw_dt from ranked where rn = 2 order by id
ოთახში სამი ნათურა და გარეთ სამი გამორთული. ყველა გამორთულია და ოთახში მხოლოდ ერთხელ შესვლა შეიძლება. როგორ დავადგინოთ, რომელი გამორთული მართავს თითოეულ ნათურს?
ID ачкычына негизделген жүктөлгөн экинчи акыркы жазууну жазышыңыз керек: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Абоненттер үчүн өзгөрүүлөр тарыхы бар таблица бар. Ар бир жазуу абонент үчүн valid_from_dt-тан valid_to_dt-ка чейин жарактуу. Эгер бир жазуу жабылса, кийинки ошол күндө башталат. Ар бир абонент үчүн гана бир активдүү жазуу болушу керек [valid_from_dt, valid_to_dt] интервалында. select * from abnt |id|valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |--|-------------|-----------|-------------|-------------|----------| |1 |[phone] |[phone] |[phone] |4375 |4979 | |1 |[phone] |[phone] |[phone] |5842 |4979 | |2 |[phone] |[phone] |[phone] |4563 |5326 | |2 |[phone] |[phone] |[phone] |4563 |0832 | Хабардар болу керек, дұрыс емес жабылу күндері бар жазууларды қайтару сұрауы керек: |id|valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |--|-------------|-----------|-------------|-------------|----------| |1 |[phone] |[phone] |[phone] |5842 |4979 | |2 |[phone] |[phone] |[phone] |4563 |5326 |