Можете ли вы мне помочь с row_number() over partition
в MySql?Имитация row_number() MySQL
Я пробовал сценарий ниже, и он не работает должным образом. Я пытаюсь выбрать только первый купленный продукт. Я выбираю столбцы Client_id, product и purchase_date.
select * from(select * from (SELECT @rownum:[email protected] + 1 as row_number,t.*
FROM (select cliend_id,prod,purchase_date from Mytable
group by cliend_id,prod,purchase_date order by cliend_id,purchase_Date) asc) t,
(SELECT @rownum := 0) r)a)b;
Результат:
Row_number Client ID Prod Purchase date
1 1111 apple 11-Nov-10
2 1111 yougurt 11-Nov-11
3 1111 candy 11-Nov-13
4 2222 chocolate 11-Nov-09
5 2222 pear 9-Sep-09
6 2222 beer 12-Sep-10
7 2222 cheese 12-Sep-14
8 1234 apple 15-Nov-12
9 1234 candy 4-Oct-14
Как я могу получить этот результат?
Row_number Client ID Prod Purchase date
1 1111 apple 11-Nov-10
2 1111 yougurt 11-Nov-11
3 1111 candy 11-Nov-13
1 2222 chocolate 11-Nov-09
2 2222 pear 9-Sep-09
3 2222 beer 12-Sep-10
4 2222 cheese 12-Sep-14
1 1234 apple 15-Nov-12
2 1234 candy 4-Oct-14
Спасибо, Родика
Не следует ли шоколаду начинать номер строки в 1? –