Eu gostaria de atribuir o primeiro elemento de um determinado grupo a 0. As tabelas a seguir são respectivamente o resultado original e o resultado final.
CREATE TABLE IF NOT EXISTS t1 (
id_ INTEGER NOT NULL,
value1 INT NOT NULL
)
CREATE TABLE IF NOT EXISTS result (
id_ INTEGER NOT NULL,
new_col INT NOT NULL
)
INSERT INTO t1 (id_, value1) VALUES
(1, 1),
(2, 1),
(2, 1),
(3, 1),
(3, 1),
INSERT INTO result (id_, new_col) VALUES
(1, 0),
(2, 0),
(2, 1),
(3, 0),
(3, 1)
Isso será executado apenas no MySQL, no MariaDB você precisará de um LIMIT no SELECT interno
O principal é o ORDER do SRLCT interno, que determina , qual número de linha (rn) ele obterá. aqui eu escolho
ORDER BY id
alcançar o seu resultado. Mas como o bigode apontou você tem que definir uma ordem, para que isso funcionedb<>fique aqui