Номер по порядка в запросе с группировкой

Abisma2008
Дата: 18.01.2016 14:26:15
Здравствуйте!
Есть таблица:
Название цена
Яблоко 15
Груша 15
Граната 30
Персик 10
Персик10
Груша17
Яблоко19
Яблоко19
Яблоко20

Нужно:
Название
1Яблоко
2Груша
3Граната
4Персик

Как показано в таблице мне нужно группировать "Название" и добавить № П/П.
За ранее Спасибо!
Rivkin Dmitry
Дата: 18.01.2016 14:51:04
Abisma2008,
Самое простое будет сделать новую таблицу (product) примерно такой структуры:
id - longinteger AutoNumber not null primary key,
Name text not null,
Price currency null

insert into product (Name, Price)
select Название, first(цена)
from MyTable
group by Название


Иначе, придется трюкачить, как-то так:

select (select count(*) from (select Название from MyTable group by Название) where Название <= T.Название) As [], T.Название
from (
  select Название
  from MyTable
  group by Название) As T
Abisma2008
Дата: 18.01.2016 15:30:51
Rivkin Dmitry,

Спасибо за ответ!
Но если добавить новый вид фрукты, фрукты поменают места.
На пример получил вот такую таблицу:
Название
1Граната
2Груша
3Персик
4Яблоко

Все правильно.
Если в таблице добавлю "Апельсин"
То получается вот такая таблица:
Название
1Апельсин
2Граната
3Груша
4Персик
5Яблоко

Номер 1 раньше била на против "Граната"
После добавления Номер 1 теперь на против "Апельсин"
Как сделать что бы Номер 1 всегда осталось на против "Граната"
Надеюсь Вы мне поняли)
Akina
Дата: 18.01.2016 15:43:24
Abisma2008
если добавить новый вид фрукты, фрукты поменают места.

Добавь сортировку (ORDER BY) - без неё даже без добавления новых видов нумерация будет скакать аки молодой зайчик.
Akina
Дата: 18.01.2016 15:43:54
Abisma2008
Как сделать что бы Номер 1 всегда осталось на против "Граната"
Создать статическую таблицу с этой нумерацией.
Abisma2008
Дата: 18.01.2016 15:57:58
Akina,

Не получается(
Можно примерчик от Вас?)
Rivkin Dmitry
Дата: 18.01.2016 16:13:04
Abisma2008
Akina,

Не получается(
Можно примерчик от Вас?)

А теорию поучить - слабо? Элементарные вопрсы!
Abisma2008
Дата: 18.01.2016 16:17:45
Rivkin Dmitry,
Я очень извиняюсь!
Я иностранец мне трудно изучать на русском языке. По этому я обращаюсь к Вам.
На пример: Как Создать статическую таблицу с этой нумерацией не знаю, я думал так проще. Пример получил и Вас больше не мучаю...
Akina
Дата: 18.01.2016 16:33:19
Abisma2008
Как Создать статическую таблицу с этой нумерацией не знаю

Просто создать таблицу. Хоть бы и мастером. А потом запросом добавить в неё данные.
Ещё проще - запустить мастер анализа данных. Он сам предложит создать такую таблицу и вынести в неё повторяющиеся значения. И даже сам это всё сделает, если согласиться.
непоймучка
Дата: 18.01.2016 17:32:27
Abisma2008
Номер 1 раньше била на против "Граната"
После добавления Номер 1 теперь на против "Апельсин"
Как сделать что бы Номер 1 всегда осталось на против "Граната"
Надеюсь Вы мне поняли)

Если в исходной таблице есть поле типа счетчик (Код), можно в таком духе
select * from
(
select
 (select count(*) from
 (select MIN(Код) AS N,Название from MyTable group by Название) where N <= T.N) As [],
 T.Название
from
 (select MIN(Код) AS N,Название from MyTable group by Название) As T
)
order by []