【发布时间】:2016-08-02 19:26:56
【问题描述】:
有没有办法为计数生成一个随机数?我想用它作为我正在做的计数的唯一标识符。这是一个示例查询:
SELECT COUNT(distinct bt.id) AS count,
<insert unique id here>
FROM boats bt
WHERE bt.created_at >= current_date AND
bt.created_at < current_date + INTERVAL '1 day' AND
bt.state != 'deactivated';
我希望它每小时生成一个新数字。
期望的输出
count id
23 432543
以上 ID 应每小时更新一次。
【问题讨论】:
-
样本数据和期望的结果真的很有帮助,假设您不只是想知道
random()的效果。 -
你每小时生成一次 COUNT 吗?
-
为什么不使用当前日期+当前小时作为唯一标识符?生成随机数并不能确保它是唯一的。
-
必须是随机的吗?为什么不只是一个自动递增的 id?可以是 GUID 吗?
-
@VincentSavard,是的。也许很简单:
date_trunc('hour', current_timestamp)
标签: sql postgresql