Вопрос об уникальности значений некоторого поля (хотя бы в пределах группы) был поставолен не случайно. Дело в том, что решения задачи генерации порядкового номера при помощи запроса, основаны на сравнении таких уникальных значений.
Можно использовать с этой целью поле названий товара, но дело в том, что при этом у вас на выходе порядок записей станет другим, и если вы НЕ знаете, чем у вас можно ЯВНО задать нужный вам (исходный) порядок, то вы получите не совсем то, что хотели.
Скажем если принять алфавитный порядок товара, то можно попробовать так:
SELECT p1.Группа, p1.Товар,
(Select Sum(1) From tab1 AS p Where p.Товар<=p1.Товар And p.Группа=p1.Группа) AS Номер
FROM tab1 AS p1
ORDER BY p1.Группа,p1.Товар
Однако в исходном прмере он ведь у вас не алфавитный.