2013-12-13 1 views
0

У меня есть вопрос, похожий на этот вопрос:Обновление Dual (2-D) Столбцы Секвенциально в MySQL

updating columns with a sequence number mysql

Однако, у меня есть второй столбец, который также «иногда» потребности обновляется. Например, рассмотрим следующую таблицу:

uID | X | Y 
1 | 6 | 0 
2 | 2 | 0 
3 | 7 | 0 
4 | 7 | 1 
5 | 3 | 0 
6 | 1 | 0 

Я хотел бы «X» повторно упорядочены последовательно, которые я могу сделать с раствором со ссылкой, выше:

SET @rank:=0; 
UPDATE `myTable` SET 
X = @rank:= @rank+1 
ORDER BY X 

Однако, если запись имеет Значения Y больше 0. Мне нужно, чтобы его X обновлялся одновременно. Значение Y, являющееся двумерным значением, должно оставаться с его «X». Имеют смысл? Поэтому мне нужно, чтобы стол был в конечном итоге:

uID | X | Y 
6 | 1 | 0 
2 | 2 | 0 
5 | 3 | 0 
1 | 4 | 0 
3 | 5 | 0 
4 | 5 | 1 

Идеи?

ответ