Intereting Posts
Как я могу научиться оптимизировать SQL-запросы MySQL – взорвать / разделить ввод на хранимую процедуру Как получить столбец, который может содержать специальные символы в sql-сервере sql выберите 3 столбца и дедупю на двух столбцах Подсчет количества транзакций по левому соединению с таблицей категорий Базы данных NoSQL Как получить следующую / предыдущую запись в MySQL? Мне нужно найти и заменить \ n в поле mysql Как проверить, является ли строковое значение в одном столбце частично содержащимся в строковом значении другого столбца с использованием SQL? Объединение SELECT DISTINCT с UNION DISTINCT в MySQL – любой эффект? Как сгенерировать перестановки или комбинации n строк в m столбцах? Выбрать все записи между двумя форматами даты и времени Групповое предложение в mySQL и postgreSQL, почему ошибка в postgreSQL? Предложение МЕЖДУ МЕЖДУ <= И> = mysql: вставить запись, если не существует, вернуть идентификатор записи

Как получить идентификатор строки в mysql

Я хочу получить идентификатор строки с другой идентификационной обратной связью

SELECT l.idfeedback_store, @curRow := @curRow + 1 AS row_number FROM feedback_store l JOIN (SELECT @curRow := 0) r; 

результат

 idfeedback_store row_number 1 1 1 2 1 3 2 4 2 5 2 6 2 7 3 8 3 9 3 10 4 11 

Требуемый результат

 idfeedback_store row_number 1 1 1 2 1 3 2 1 2 2 2 3 2 4 3 1 3 2 3 3 4 1 

Попробуй это:

 SELECT l.idfeedback_store, IF(@last=(@last:=idfeedback_store), @curRow := @curRow + 1, @curRow:=1) AS row_number FROM feedback_store l, (SELECT @curRow := 0, @last:=0) r; 

Вы можете использовать что-то похожее на это:

 select idfeedback_store, group_row_number from ( select idfeedback_store, @num := if(@idfeedback_store = `idfeedback_store`, @num + 1, 1) as group_row_number, @idfeedback_store := `idfeedback_store` as dummy from feedback_store ) src 

См. SQL Fiddle with Demo

Результат:

 | IDFEEDBACK_STORE | GROUP_ROW_NUMBER | --------------------------------------- | 1 | 1 | | 1 | 2 | | 1 | 3 | | 2 | 1 | | 2 | 2 | | 2 | 3 | | 2 | 4 | | 3 | 1 | | 3 | 2 | | 3 | 3 | | 4 | 1 | 
 SELECT idfeedback_store, @curRow := CASE WHEN @curStore = idfeedback_store THEN @curRow + 1 ELSE 1 END AS row_number, @curStore := idfeedback_store FROM feedback_store;