logo-mysql-workbench

Una forma de poder hacer uso del equivalente de ROWNUM de Oracle en MySQL es la siguiente. Pongo como ejemplo una SQL que me sirva para asignar varios productos de Prestashop a otra categoría. Así podremos asignaciones de forma masiva:


insert into ps_category_product (id_category,id_product,position)
select 122,p.id_product,@rownum:=@rownum+1 AS rownum
from ps_product_lang p,(SELECT @rownum:=-1) r
where p.name like '%texto a filtrar%'

El 122 es el nº de la nueva categoría a la que queremos asociar todos los productos que nos devuelve la SELECT. En '%texto a filtrar%'  hemos puesto una condición de búsqueda para seleccionar varios productos.

Para este caso en particular, como los productos en Prestashop están ordenados dentro de una categoría y el primero tiene la posición cero, hemos inicializado la variable ROWNUM en -1 para que empiece por cero.

Como habéis visto, esta es la manera de usar rownum en MySQL para los que venimos de Oracle y no sabemos cómo hacerlo.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies