1) поле id обычно используется для обеспечения уникальности данных на уровне строк. Если у вас там не уникальное значение, желательно использовать другое название. В идеале должно быть и уникальное `id` и кастомное `чтототам_id`...
2) Rsa97 уже написал все ключевые функции для решения данной задачи. В принципе достаточно по ним загуглить...