douăzeci și cinci de exerciții de practică SQL

posted in: Articles | 0

tarife de anulare

din următorul tabel de ID-uri de utilizator, acțiuni și date, scrieți o interogare pentru a returna rata de publicare și Anulare pentru fiecare utilizator.

Modificări în valoare netă

Din următorul tabel al tranzacțiilor între doi utilizatori, scrie o interogare pentru a reveni schimbarea în valoare netă pentru fiecare utilizator, comandat prin scăderea net schimba.,

cele Mai frecvente elemente

Din următorul tabel conține o listă de date și elementele de ordonat, scrie o interogare pentru a returna cele mai frecvente articol comandat de pe fiecare data. Returnați mai multe elemente în cazul unei cravate.,

diferenta de Timp dintre cele mai recente acțiuni

Din tabelul următor de acțiunile utilizatorului, scrie o interogare pentru a reveni pentru fiecare utilizator de timpul scurs între ultima acțiune și cel de-al doilea-la-ultima acțiune, în ordine crescătoare de ID-ul de utilizator.,

Super utilizatori

O companie își definește super utilizatorii și cei care au făcut cel puțin două tranzacții. Din tabelul următor, scrieți o interogare pentru a returna, pentru fiecare utilizator, data la care devin un super utilizator, comandat mai întâi de cei mai vechi super utilizatori. Utilizatorii care nu sunt super utilizatori ar trebui să fie, de asemenea, prezenți în tabel.,

recomandare de Conținut (greu)

Folosind următoarele două tabele, scrie o interogare pentru a întoarce pagina recomandări pentru un utilizator de social media bazat pe paginile lor de prieteni au placut, dar pe care inca nu le-au marcat ca le-au apreciat. Comandați rezultatul prin ascendent ID de utilizator. Sursa.,

Mobile and web visitors

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

rata de Upgrade de produs acțiune (hard)

Având în vedere următoarele două tabele, reveni fracțiune de utilizatori, se rotunjește la două zecimale, care au accesat caracteristică două (tip: F2 la evenimente de masă) și upgrade la premium în primele 30 de zile de la semnarea în sus.,

cele Mai împrietenit

Având în vedere tabelul de mai jos, întoarce o listă de utilizatori și corespunzătoare lor prieten conta. Comandați rezultatul prin scăderea numărului de prieteni, iar în cazul unei cravate, prin creșterea ID-ului de utilizator., Să presupunem că numai prietenii unice sunt afișate
(De exemplu, nu va apărea din nou ca ). Din LeetCode.

Proiect de agregare (greu)

proiecte tabelul conține trei coloane: task_id, start_date, și end_date. Diferența dintre end_date și start_date este de 1 zi pentru fiecare rând din tabel. Dacă datele de încheiere a sarcinilor sunt consecutive, acestea fac parte din același proiect. Proiectele nu se suprapun.,

scrieți o interogare pentru a returna datele de început și de sfârșit ale fiecărui proiect și numărul de zile necesare pentru finalizare. Ordinea de ascendentă durata proiectului, și descrescătoare data de începere În cazul unei cravată. De La HackerRank.,

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., Dacă există o egalitate între două scoruri, ambele ar trebui să aibă același rang. După o egalitate, următorul rang ar trebui să fie următoarea valoare întreagă consecutivă. Din LeetCode.

Cumulativ salariu suma

Tabelul următor deține salariu lunar informații pentru mai mulți angajați. Scrieți o interogare pentru a obține, pentru fiecare lună, suma cumulată a salariului unui angajat pe o perioadă de 3 luni, cu excepția celei mai recente luni., Rezultatul ar trebui să fie comandat prin ascendent ID-ul angajatului și luna. Din LeetCode.

clasamentul pe Echipe

Scrie o interogare pentru a reveni la scoruri de fiecare echipă în echipe de masă după toate meciurile afisate in meciurile de masă. Punctele sunt acordate după cum urmează: zero puncte pentru o pierdere, un punct pentru o egalitate și trei puncte pentru o victorie. Rezultatul trebuie să includă numele echipei și punctele și să fie ordonat prin scăderea punctelor., În caz de egalitate, Ordonați după numele echipei alfabetizate.,

Clienții care nu cumpără un produs

Din tabelul următor, scrie o interogare pentru a afișa ID-ul și numele de clienții care au cumpărat produse a și B, dar nu a cumpărat produsul C, comandat de ascendent ID-ul de client.,

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 separate orașe

La aceeași masă la întrebarea 17, scrie o interogare pentru a reveni mai departe separate pereche de orașe pentru fiecare stat, și distanța corespunzătoare (în grade, rotunjită la 2 zecimale) între cele două orașe. De La HackerRank.,

Ciclul de timp

Scrie o interogare pentru a reveni la timpul ciclului mediu pe fiecare lună. Ciclul de timp este timpul scurs între un utilizator aderarea și invitații lor aderarea. Utilizatorii care s-au alăturat fără invitație au un zero în coloana „invitat de”.,

Trei într-un rând

masa De prezență busteni numărul de persoane numărate într-o mulțime în fiecare zi un eveniment are loc. Scrieți o interogare pentru a returna un tabel care arată data și numărul vizitatorilor perioadelor de prezență ridicată, definite ca trei intrări consecutive (nu neapărat date consecutive) cu mai mult de 100 de vizitatori. Din LeetCode.,

de Obicei achiziționate împreună

Folosind următoarele două tabele, scrie o interogare pentru a reveni numele și frecvența de cumpărare din primele trei perechi de produse cel mai frecvent cumparat-o impreuna. Numele ambelor produse ar trebui să apară într-o singură coloană. Sursa.,

Medie efectul tratamentului (hard)

Din tabelul de mai jos sintetizează rezultatele unui studiu, se calculează media efect de tratament precum și limitele superioare și inferioare ale intervalului de încredere 95%. Rotunjiți aceste numere la 3 zecimale.,

Rulare suma salariu

Următorul tabel arată salariul lunar pentru un angajat pentru primele nouă luni într-un an dat. Din aceasta, scrieți o interogare pentru a returna un tabel care afișează, pentru fiecare lună din prima jumătate a anului, suma rulantă a salariului angajatului pentru luna respectivă și următoarele două luni, ordonată cronologic.,

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., Din LeetCode.

Retenție curba (hard)

La următorul utilizator activitatea masă, scrie o interogare pentru a reveni fracțiune de utilizatori care sunt reținute (arată o activitate) un anumit număr de zile după aderarea., By convention, users are considered active on their join day (day 0).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *