2016-03-22 2 views
0

Я стараюсь получать все годы в таблице с 174 строками. Существует два различия в 2016 и 2017 годах. И добавьте ответ ответа и Ид, которые соответствуют «количеству строк» ​​ответа.Как получить номер строки в запросе select mysql

Вот запрос:

SET @n=0; 
SELECT YEAR (`Date`) AS Libelle, @n := @n + 1 AS id FROM Datas GROUP by Libelle 

Отклик:

|Libelle| Id| 
| 2016| 1| 
| 2017|174| 

Что способ получить:

|Libelle| Id| 
| 2016| 1| 
| 2017| 2| 

174 соответствует последней записи в моей таблице. И я понимаю, что @n увеличивается со всеми остальными строками.

У вас есть идея сделать это?

ответ

1

попробуйте это. поэтому счетчик работает только с результатом:

SELECT @n := @n + 1 AS id , tmp.* 
FROM (
    SELECT DISTINCT YEAR (`Date`) AS Libelle FROM Datas GROUP by Libelle) AS tmp, 
    (SELECT @n := 0) as parameter; 
+0

Он говорит, что есть ошибка в последней строке «(@n: = 0) в качестве параметра» – Julien698

+0

извините, я исправил это в моем ответе –

+0

он отлично работает! !! благодаря – Julien698

Смежные вопросы