169 похожих чатов

Добрый вечер. Прошу помочь с тестовым. https://sqlize.online/s/CH тут отработал код

.Задача У вас SQL база с таблицами магазина, который существует много лет:
1) Users(userId, age)
2) Purchases (purchaseId, userId, itemId, date)
3) Items (itemId, price).

Напишите SQL запросы для расчета следующих метрик: Б) в каком месяце года выручка от пользователей в возрастном диапазоне 35+ самая большая . Работодатель предупреждает стоит оставить ремарку, что ChatGPT только решает это задание с логическими ошибками и покрывает далеко не все возможные кейсы. В чем подвох? я так добавила что Для учета того, что один и тот же userId может совершать несколько покупок в месяц, нужно сгруппировать покупки по месяцам и пользователям, а затем выбрать месяц с наибольшей выручкой. Что то еще? Помогите пожалуйста. МОЙ КОД: SELECT year, month, MAX(monthly_revenue) AS max_revenue
FROM (
SELECT
YEAR(P.date) AS year,
MONTH(P.date) AS month,
U.userId,
SUM(I.price) AS monthly_revenue
FROM Purchases P
JOIN Users U ON P.userId = U.userId
JOIN Items I ON P.itemId = I.itemId
WHERE (YEAR(CURRENT_DATE) - YEAR(U.date_of_birth)) >= 35
GROUP BY YEAR(P.date), MONTH(P.date), U.userId
) AS UserMonthlyPurchases
GROUP BY year, month
ORDER BY max_revenue DESC
LIMIT 1;

1 ответов

66 просмотров

Попробуй что-то вроде такого: select   date_part('month', p."date")::int as "MonthNumber" from   Purchases p   join Users u on u.userid = p.userid   join items i on i.itemid = p.itemid where   date_part('year', p."date") = 2023 -- где год 2023   and (p."date"::timestamp - u.date_of_birth::timestamp) >= interval '35 years' -- и на момент покупки было 35+ лет group by   date_part('month', p."date")::int -- группируем по номеру месяца, чтобы посчитать сумму покупок по месяцам order by   sum(i.price) desc -- сортируем по убыванию сумму покупок за месяц limit 1; -- выбираем верхнюю строку с номером месяца с самыми большими тратами

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта