Problem z zapytaniem mysql

0

Witam.

To mój pierwszy post na forum. Mam pewien problem. Potrzebuję utworzyć widok w bazie mysql i chcę otrzymać coś takiego:

id faktury symbol faktury pozycja

1 1/2018 1

1 1/2018 2

1 1/2018 3

1 1/2018 4

2 2/2018 1

2 2/2018 2

3 3/2018 1

3 3/2018 2

3 3/2018 3

etc...

Jak napisać zapytanie do bazy, aby mając dane id faktury i symbol faktury, w tworzonym widoku uzyskać po kolei nr pozycji? Mam tylko dane z 1 i 2 kolumny. Kolumnę 3 chcę dopiero uzyskać.

Z góry dziękuję za odpowiedź.

0

http://www.mysqltutorial.org/mysql-row_number/

Czyli coś w ten deseń

select 
id
, @row_number:=CASE
        WHEN @symbol = symbol THEN @row_number + 1
        ELSE 1
    END AS pozycja,
    @symbol:=Symbol as Symbol
from f
order by symbol

http://sqlfiddle.com/#!9/a5ac48/1

0
Panczo napisał(a):

http://www.mysqltutorial.org/mysql-row_number/

Czyli coś w ten deseń

select 
id
, @row_number:=CASE
        WHEN @symbol = symbol THEN @row_number + 1
        ELSE 1
    END AS pozycja,
    @symbol:=Symbol as Symbol
from f
order by symbol

http://sqlfiddle.com/#!9/a5ac48/1

A jak by to napisać, żeby brał pod uwagę tylko kolumnę z id faktury, a zupełnie pomijał jej symbol?

0

Zamień symbol na id

0
Panczo napisał(a):

Zamień symbol na id

Problem jest jednak w tym, że tworząc widok, nie mogę używać zmiennych, więc to nie działa...

0

Problem jest jednak w tym, że tworząc widok, nie mogę używać zmiennych, więc to nie działa...

0

Jak masz wersję, która wspiera funkcje analityczne:

select
  id_faktury,
  symbol_faktury,
  row_number() over (partition by id_faktury,symbol_faktury order by symbol) pozycja
from 
  faktury;

http://www.mysqltutorial.org/mysql-window-functions/mysql-row_number-function/

1 użytkowników online, w tym zalogowanych: 0, gości: 1