【问题标题】:MySQL GROUP BY not working with identical TIMESTAMPsMySQL GROUP BY 不使用相同的 TIMESTAMP
【发布时间】:2013-06-03 16:04:00
【问题描述】:

我正在对具有相同时间戳并指定GROUP BY 的行执行SELECT DISTINCT;它只找到一行,毫无疑问是因为它不允许重复。

我尝试使用NOW() 对每一行运行更新,但GROUP BY 仍然认为时间戳相同。

有什么方法可以更新表的所有时间戳,同时每增加一毫秒(或其他东西)?

【问题讨论】:

  • 好吧,如果你使用 distinct 和 group by,你看不到重复的时间戳是很正常的。但由于它对您来说似乎并不那么重要(因为您愿意更新它),为什么不简单地删除 distinct 和 group by ?

标签: mysql group-by timestamp


【解决方案1】:

在递增每个 a 的同时更新表的所有时间戳的任何方法 毫秒(或什么)?

这是为了根据您的需要更新每一行(而不是毫秒,它以秒为单位增加)

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

但如果你不关心增加一秒,而只想要唯一的时间戳,你可以尝试

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

鉴于id 是一个自动增量列。

【讨论】:

    【解决方案2】:
    DATE_ADD(timestampfield, INTERVAL '0.000001' SECOND_MICROSECOND);
    

    这样你可以在 mysql 中增加微秒

    【讨论】:

      猜你喜欢
      • 2016-02-12
      • 2010-12-18
      • 2013-12-07
      • 2015-05-05
      • 1970-01-01
      • 2015-07-14
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多