Mi ennek az SQL lekérdezének a megfejtése?
Figyelt kérdés
Most tanulom az SQL-t, de olyan a tesztoldal, amin gyakorlom a lekérdezéseket, hogy ha nem tudom, és tovább akarok lépni, akkor nem mutatja meg a megfejtést... Így nem tudtam meg, hogy mit rontottam el.
App usage data are kept in the following table:
TABLE sessions
id INTEGER PRIMARY KEY,
userId INTEGER NOT NULL,
dutation DECIMAL NOT NULL
Write a query that selects userId and average session duration for each user who has more than one session.
2020. jún. 3. 18:22
2/7 A kérdező kommentje:
SELECT userId, AVG(duration) FROM (SELECT * FROM session WHERE COUNT(userId)>1)
2020. jún. 3. 18:44
3/7 anonim válasza:
Az a baj első körben, hogy a subselectel kapnod kéne egy táblát, amiben userid-re összesítve meglenne, hogy hány sessionja van az usernek és az átlag idő (tipp: group by). A külső selectben meg le kéne szűrni, hogy az legyen csak benne, ahol a session száma az adott usernél több>1.
4/7 anonim válasza:
De egyébként kb ez lenne:
select * from (select userId,avg(duration) as avg_dur,count(userid) as c_session from sessions group by userid) as sub_sess_by_usr where c_session>1
5/7 anonim válasza:
SELECT userId, AVG(duration)
FROM sessions
GROUP BY userId
HAVING COUNT(userId)>1;
6/7 anonim válasza:
Igaz is..,bár enyém is működik, de #5-s megoldása a korrekt, nyomok is rá.
7/7 A kérdező kommentje:
Köszönöm szépen! :)
2020. jún. 4. 09:29
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!