• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie z LNU. Ćwiczenie - DARPA 5

+1 głos
1,791 wizyt
pytanie zadane 23 czerwca 2022 w SQL, bazy danych przez Vladyslav Yavorskyi Nowicjusz (170 p.)
edycja 4 lipca 2022 przez Vladyslav Yavorskyi

Dzień dobry, potrzebuje pomocy z zadaniem z LNU.

Zadanie:

kolejne, dobrze płatne zlecenie od DARPA przed Tobą!

Tabela tests zawiera dane dotyczące testów mocy pewnego typu silników rakietowych. Wartości w kolejnych kolumnach oznaczają:
1. ID - numer testu
2. SN - numer seryjny silnika
3. T - czas trwania testu w sekundach
4. M1M2M3 - zarejestrowane wartości mocy na początku, w połowie, oraz na końcu czasu trwania testu. 

Twoim zadaniem jest wyświetlenie dla każdego silnika tego testu, w którym osiągnął on najwyższą średnią wartość trzech pomiarów mocy. Musisz jednak wziąć pod uwagę następujące ograniczenia:
1. interesują nas tylko te silniki, które brały udział co najmniej w 5 testach,
2. spośród testów dotyczących silników spełniających warunek 1. interesują nas tylko te, które trwały co najmniej minutę, oraz w których najniższa wartość z trzech pomiarów była nie mniejsza niż 90% najwyższej wartości z trzech pomiarów,  
3. Interesują nas tylko te silniki, dla których testy wyłonione po spełnieniu kryteriów z punktu 2. spełniają następujący warunek: najniższa średnia z trzech wyników pomiarów spośród testów dla danego silnika jest nie mniejsza niż 85% najwyższej średniej pomiarów spośród tych testów.   

Wynikowa tabela powinna zawierać cztery kolumny:
1. ID
2. SN
3. MAX - zawierającą najwyższą wartość z trzech pomiarów w danym teście
4. MAX_AVG - zawierającą najwyższą średnią z pomiarów, spośród wszystkich testów dla danego silnika (po uwzględnieniu opisanych wyżej warunków). Zaokrąglij tę wartość do dwóch miejsc po przecinku. 

Wyniki posortuj od najwyższej do najniższej średniej. 

 

Podsyłam też link z danymi

https://docs.google.com/spreadsheets/d/1jxtOweTkn7I_kSy9NjNNAfcCE6gp7vq_kKPUwQMLUww/edit?usp=sharing

komentarz 23 czerwca 2022 przez PreZmyK Pasjonat (21,530 p.)
Nie napisałeś z czym masz problem. Ta 4 kolumna to VARRAY?

2 odpowiedzi

0 głosów
odpowiedź 15 marca 2023 przez Sigma Kacper Nowicjusz (140 p.)
Zaraz popelnie samobojstwo robie to zadanie od 2022r jest ono nie wykonalne. Sam opis jest tak uposledzony jakby malpa go pisala nawet AI ktoremu kazalem to napisac popelnia blad
komentarz 6 kwietnia 2023 przez Sigma Kacper Nowicjusz (140 p.)
Jak chcecie dostac odpowiedz pisze na
SpookyDude#9235
komentarz 17 listopada 2023 przez szmurk0 Nowicjusz (100 p.)
siema, wysłałem zaproszenie na dc, ale nie zostałem dodany. Nick.: szmurk0 / howtopraisetheholypeanut
0 głosów
odpowiedź 11 października przez Elibi Nowicjusz (140 p.)
WITH W1 AS (
    SELECT *
    FROM tests
    WHERE SN IN (
        SELECT SN
        FROM tests
        GROUP BY SN
        HAVING COUNT(SN) >= 5
    )
),
W2_1 AS (
    SELECT
        ID, SN, T, M1, M2, M3,
        CASE
            WHEN M1 <= M2 AND M1 <= M3 THEN M1
            WHEN M2 <= M1 AND M2 <= M3 THEN M2
            ELSE M3
        END AS LEAST,
        CASE
            WHEN M1 >= M2 AND M1 >= M3 THEN M1
            WHEN M2 >= M1 AND M2 >= M3 THEN M2
            ELSE M3
        END AS GREATEST
    FROM W1
),
W2_2 AS (
    SELECT ID, SN, T, M1, M2, M3, LEAST, GREATEST
    FROM W2_1
    WHERE LEAST >= 0.9 * GREATEST
      AND T >= 60
),
W3_1 AS (
    SELECT ID, SN, T, M1, M2, M3, GREATEST, (M1 + M2 + M3)/3.0 AS AVG
    FROM W2_2
),
W3_2 AS (
    SELECT SN, MIN(AVG) AS MIN_AVG, MAX(AVG) AS MAX_AVG, GREATEST
    FROM W3_1
    GROUP BY SN
),
W4_1 AS (
    SELECT
        A.ID,
        A.SN,
        A.GREATEST AS MAX,
        ROUND(A.AVG, 2) AS MAX_AVG
    FROM W3_1 A
    WHERE A.SN IN (
    SELECT SN FROM W3_2
    WHERE MIN_AVG >= 0.85*MAX_AVG
    )
),
W4_2 AS (
    SELECT *, ROW_NUMBER() OVER(PARTITION BY SN ORDER BY MAX_AVG DESC) AS RN
    FROM W4_1
)
SELECT ID, SN, MAX, MAX_AVG
FROM W4_2
WHERE RN = 1
ORDER BY MAX_AVG DESC;

Jeśli jeszcze nie popełniłeś samobojstwa, proszę przeczytaj to.

ps. Czy napewno taki sigma?

Podobne pytania

+2 głosów
0 odpowiedzi 240 wizyt
pytanie zadane 15 kwietnia 2021 w SQL, bazy danych przez pjajdyk Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,392 wizyt
pytanie zadane 29 maja 2021 w C i C++ przez VesoMa Nowicjusz (120 p.)
0 głosów
1 odpowiedź 431 wizyt
pytanie zadane 21 stycznia 2020 w SQL, bazy danych przez KZ Nowicjusz (190 p.)

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,087 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...