Menu
Coddy logo textTech

Ostateczna decyzja

Lekcja 3 z 3 w kursie Pakiet wyzwań SQL nr 2 w Coddy.

challenge icon

Wyzwanie

Średni

Aby zbudować zamek, budowniczy potrzebuje wielu narzędzi. Trudno zrozumieć, których narzędzi powinien użyć i w jakiej kolejności. Dlatego wyodrębnimy ważne informacje i pomożemy budowniczemu zbudować jego zamek. 

 

Teraz budowniczy ma tabelę siły, która wskazuje liczbę punktów, jaką dysponuje, aby obsługiwać narzędzia w każdej godzinie. W każdej godzinie może użyć każdego narzędzia jeden raz i powinien użyć jak największej liczby narzędzi. Trudność narzędzia to liczba punktów, które budowniczy wykorzystuje. 

 

Budowniczy chce zdecydować, w których godzinach budować zamek. Najlepsze są te godziny, w których różnica między power a used jest większa.  

Zwróć hour oraz różnicę między kolumnami power i used — nazwij tę kolumnę space.

Usuń wszystkie wiersze, w których wartość space jest równa zero, oraz wszystkie godziny zawierające 30 minut (13:30, 14:30)

 

Zwróć hour, points oraz liczbę punktów wykorzystanych w tej godzinie — nazwij tę kolumnę used

 

Spróbuj swoich sił

WITH cumulating AS (
    SELECT SUM(difficulty) OVER (ORDER BY row_num ASC) as tot_until_now
    FROM (
        SELECT name, difficulty, ROW_NUMBER() OVER (order by difficulty asc) as row_num 
        FROM tools
    )
    order by difficulty 
)

SELECT hour, power, (
    SELECT tot_until_now 
    FROM cumulating 
    WHERE tot_until_now <= power 
    ORDER BY tot_until_now DESC
    LIMIT 1
    ) as used
FROM strength

Wszystkie lekcje w sekcji Pakiet wyzwań SQL nr 2

1Wyzwania

Inwentarz zamkuNarzędzia do użyciaLekcja projektowaOstateczna decyzjaLekcja projektowa

Poćwicz samodzielnie: Edytor online SQL