Sobes.tech
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ду гана тандайбыз.