Получите 50-ю и 100-ю продажу пользователя - PullRequest
0 голосов
/ 05 сентября 2018

В таблице базы данных много товаров. Я хочу создать отчет с указанием 10-го и 25-го и т. Д. Порядка этого продукта и журнала, который его купил.

В настоящее время у меня есть

select 
    CONCAT(sales.lastName,' / ', sales.firstName) as salesNames,
    sales.created_at as Sale_Date

FROM Sales
JOIN users ON sales.user_id = users.id
WHERE sales.status = 1
AND sales.created_at < CURDATE()

Если кто-то может привести меня в правильном направлении, я был бы признателен.

В основном мой конечный результат был бы как

sale_day.  salesNames
10.        John/Joe
10         Smith/Ralley
10         Gruni/Mark
25.        Tony Rick
25         Brunel Brada
25         Mary Lofe

1 Ответ

0 голосов
/ 06 сентября 2018

В MariaDB 10.2 вы можете использовать row_number(). Ваше объяснение не ясно - почему таблица users объединяется? Что такое продукт?

Но я думаю, что вы ищете что-то вроде:

select concat(u.lastName, ' / ', u.firstName) as salesNames,
       s.created_at as Sale_Date
from (select s.*,
             row_number() over (partition by s.product_id order by s.created_at) as seqnum
      from sales s
      where s.status = 1 and
            s.created_at < CURDATE()
     ) s join
     users u
     on s.user_id = u.id
where seqnum in (10, 25);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...