这就是我想要的。如您所见,uniq列对于所有10个结果都具有相同的非唯一值。
+--------+------------+ | id | uniq | +--------+------------+ | 714183 | 1514152300 | | 714184 | 1514152300 | | 714185 | 1514152300 | | 714186 | 1514152300 | | 714187 | 1514152300 | | 714188 | 1514152300 | | 714189 | 1514152300 | | 714190 | 1514152300 | | 714191 | 1514152300 | | 714192 | 1514152300 | +--------+------------+
这是下一个选择
+--------+------------+ | id | uniq | +--------+------------+ | 714202 | 1514152302 | | 714201 | 1514152302 | | 714200 | 1514152302 | | 714199 | 1514152302 | | 714198 | 1514152302 | | 714197 | 1514152302 | | 714196 | 1514152302 | | 714195 | 1514152302 | | 714194 | 1514152302 | | 714193 | 1514152302 | +--------+------------+
select id, floor(avg(unix_timestamp())) uniq
from sites2
where status=0
group by id limit 10;
这是我能想到的最好的。问题是,我需要每次等待1秒才能获得这些结果。什么是更好的解决方案?格式无关紧要,它可以是任意大小的整数。
答案 0 :(得分:0)
如果您想要更高的精确度,可以使用unix_timestamp(now(6))
:
select id, unix_timestamp(now(6))
from sites2
where status = 0 ;
(我不认为group by
是必要的。)
返回带小数点的数字。如果这是一个问题,您可以多次1,000,000并转换为十进制/ bigint。