2013-06-03 23 views
0

我在做具有相同時間戳和指定GROUP BY的行上執行SELECT DISTINCT;它只發現一行,毫無疑問,因爲它不允許重複。MySQL GROUP BY不能使用相同的TIMESTAMPs

我試着用NOW()運行每行更新,但GROUP BY仍然看到時間戳相同。

任何方式來更新表中的所有時間戳,同時遞增每毫秒(或某事)?

+1

嗯,這是很正常的,你沒有看到重複的時間戳。但是,因爲它對你來說似乎並不那麼重要(因爲你願意更新它),爲什麼不簡單地刪除獨特和組? –

回答

2

任何方式來更新表中的所有時間戳,而每增加一個012毫秒(或什麼) 毫秒?

這是更新是根據你所需要的各行(而不是毫秒,它通過第二增加)

SET @COUNTER = 0; 
UPDATE table SET timestamp_col = NOW() 
+ INTERVAL (@COUNTER := @COUNTER + 1) SECOND; 

,但如果你不關心一秒增加,但只希望唯一時間戳,你可以嘗試

UPDATE table SET timestamp_col = NOW() + INTERVAL id SECOND; 

鑑於id是自動增量列。

+0

啊是的,使用唯一的ID列是聰明的。謝謝。 – cbmtrx

+0

這工作像一個魅力,謝謝。 – cbmtrx

+0

很高興幫助:D。 – invisal

0
DATE_ADD(timestampfield, INTERVAL '0.000001' SECOND_MICROSECOND); 

這樣,如果你使用不同的和GROUP BY您可以在MySQL增加微秒