Dvacet pět SQL praktických cvičení

posted in: Articles | 0

Zrušení sazby

Z následující tabulky uživatelských Id, akce a termíny, napište dotaz vrátit zveřejnění a storno sazba pro každého uživatele.

Změny čistého jmění

Z následující tabulky transakcí mezi dvěma uživateli, napište dotaz vrátit změny čistého jmění pro každého uživatele, seřazeny podle klesající čistá změna.,

nejčastější položky

Z následující tabulky obsahující seznam termínů a položek objednat, napište dotaz vrátit nejčastější položky objednat na každý den. Vraťte více položek v případě kravaty.,

Časový rozdíl mezi poslední akce

Z následující tabulky uživatelských akcí, napište dotaz vrátit pro každého uživatele, dobu, která uplynula mezi poslední akci, a druhý-k-poslední akce, ve vzestupném pořadí podle ID uživatele.,

Super uživatele

Společnost definuje své super uživatelé jako ty, kteří provedli alespoň dvě transakce. Z následující tabulky napište dotaz, abyste pro každého uživatele vrátili datum, kdy se stanou super uživatelem, který si nejprve objednali nejstarší super uživatelé. Uživatelé, kteří nejsou super uživatelé, by měli být také přítomni v tabulce.,

Obsah doporučení (těžké)

Pomocí následující dvě tabulky, napište dotaz vrátit stránce, doporučení, sociální média, uživatele založené na stránkách, že jejich přátelé mají rádi, ale že mají ještě není označen jako oblíbený. Výsledek si objednejte vzestupně ID uživatele. Zdroj.,

Mobile and web visitors

With the following two tables, return the fraction of users who only visited mobile, only visited web, and visited both.,

Upgrade sazbu o produktu action (tvrdé)

Vzhledem k tomu následující dvě tabulky, vrátí zlomek uživatelů, zaokrouhlená na dvě desetinná místa, který přístupné funkce dvě (typ: F2 v tabulce událostí) a upgrade na prémie během prvních 30 dnů od podpisu up.,

Nejvíce spřátelil

Vzhledem k tomu následující tabulka, vrátí seznam uživatelů a jejich odpovídající známému počtu. Výsledek si objednejte sestupným počtem přátel a v případě kravaty vzestupně ID uživatele., Předpokládejme, že se zobrazí pouze jedinečná přátelství
(tj. Z LeetCode.

Projekt agregace (těžké)

projekty tabulka obsahuje tři sloupce: task_id, začátek, a end_date. Rozdíl mezi end_date a start_date je 1 den pro každý řádek v tabulce. Pokud jsou data ukončení úkolu po sobě jdoucí, jsou součástí stejného projektu. Projekty se nepřekrývají.,

napište dotaz, abyste vrátili počáteční a koncová data každého projektu a počet dní, které trvalo dokončení. Pořadí vzestupně trvání projektu, a sestupně Datum zahájení v případě kravaty. Z Hackerranku.,

Birthday attendance

Given the following two tables, write a query to return the fraction of students, rounded to two decimal places, who attended school
(attendance = 1) on their birthday. Source.,

Hacker scores

Given the following two tables, write a query to return the hacker ID, name, and total score (the sum of maximum scores for each challenge completed) ordered by descending score, and by ascending hacker ID in the case of score tie., Do not display entries for hackers with a score of zero. From HackerRank.

Rank without RANK (hard)

Write a query to rank scores in the following table without using a window function., Pokud existuje kravata mezi dvěma skóre, oba by měli mít stejnou hodnost. Po kravatě by následující hodnost měla být další po sobě jdoucí celočíselná hodnota. Z LeetCode.

Kumulativní plat sum

Následující tabulka obsahuje měsíční plat informace pro několik zaměstnanců. Napište dotaz, abyste za každý měsíc získali kumulativní součet platu zaměstnance po dobu 3 měsíců, s výjimkou posledního měsíce., Výsledek by měl být objednán vzestupně ID zaměstnance a měsíc. Z LeetCode.

Tým pořadí

Napsat dotaz vrátit skóre každého týmu ve týmy tabulky po všech zápasech zobrazí v utkání stolu. Body se udělují takto: nulové body za ztrátu, jeden bod za remízu a tři body za výhru. Výsledek by měl obsahovat název týmu a body a měl by být seřazen podle klesajících bodů., V případě remízy, pořadí podle abecedního názvu týmu.,

Zákazníky, kteří nekoupili produktu

Z následující tabulky, napsat dotaz zobrazit ID a název zákazníci, kteří si koupili výrobky a a B, ale nekoupil produktu C, vzestupně seřazené podle ID zákazníka.,

Median latitude (hard)

Write a query to return the median latitude of weather stations from each state in the following table, rounding to the nearest tenth of a degree. Note that there is no MEDIAN() function in SQL! From HackerRank.,

Maximálně oddělené měst

Ze stejné tabulky v otázce č. 17, napište dotaz vrátit nejdále-oddělené dvojice měst pro každý stát, a odpovídající vzdálenosti (ve stupních, zaokrouhlených na 2 desetinná místa) mezi těmito dvěma městy. Z Hackerranku.,

doba Cyklu

Napsat dotaz vrátit průměrná doba cyklu po každý měsíc. Doba cyklu je čas, který uplynul mezi jedním uživatelem spojování a jejich pozvaných spojování. Uživatelé, kteří se připojili bez pozvání, mají ve sloupci „pozváni“ nulu.,

Tři v řadě

návštěvnost tabulka zaznamenává počet lidí, počítáno v davu každý den, událost se koná. Napsat dotaz vrací tabulka, která ukazuje datum a počet návštěvníků vysoce účast období definováno jako tři po sobě jdoucí položky (ne nutně po sobě jdoucí dny) s více než 100 návštěvníků. Z LeetCode.,

Běžně zakoupit společně

Pomocí následující dvě tabulky, napište dotaz vrátí jména a frekvenci nákupu ze tří nejlepších párů produktů, většinou si spolu koupili. Názvy obou produktů by se měly objevit v jednom sloupci. Zdroj.,

Průměrný léčebný účinek (tvrdé)

Z následující tabulky shrnující výsledky studie, vypočítat průměrný léčebný účinek, stejně jako horní a dolní meze 95% intervalu spolehlivosti. Zaokrouhlete tato čísla na 3 desetinná místa.,

Rolling součet platu

Následující tabulka ukazuje měsíční plat zaměstnance za prvních devět měsíců v daném roce. Z tohoto, napište dotaz vrací tabulka, která zobrazuje, za každý měsíc v první polovině roku, rolling součet mzdy zaměstnance za daný měsíc a na následující dva měsíce, řazené chronologicky.,

Taxi cancellation rate

From the given trips and users tables for a taxi service, write a query to return the cancellation rate in the first two days in October, rounded to two decimal places, for trips not involving banned riders or drivers., Z LeetCode.

Retenční křivka (tvrdé)

Z následující aktivity uživatele stůl, napsat dotaz vrátit podíl uživatelů, kteří jsou zachovány (ukázat nějakou činnost) daný počet dní po vstupu., By convention, users are considered active on their join day (day 0).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *