Junior
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Ар бир шаарда заказдардын саны боюнча эң мыкты 10 айдоочуну алыңыз
sobes.tech AI
AIден жооп
Ар бир шаарда эң көп заказдар менен 10 эң мыкты айдоочуну алуу үчүн SQLде ROW_NUMBER() же RANK() терезе функциясын колдонсоңуз болот. Сурооңун мисалы:
SELECT driver_id, city, order_count
FROM (
SELECT
driver_id,
city,
COUNT(order_id) AS order_count,
ROW_NUMBER() OVER (PARTITION BY city ORDER BY COUNT(order_id) DESC) AS rn
FROM orders
GROUP BY city, driver_id
) sub
WHERE rn <= 10
ORDER BY city, order_count DESC;
Бул жерде биз заказдарды айдоочу жана шаар боюнча топтоштурабыз, заказдардын санын эсептейбиз, андан соң ар бир шаарда заказдардын саны боюнча төмөндөп бара жаткан тартипте айдоочуларды номерлейбиз жана биринчи 10ду гана тандайбыз.