我试图为我在1到60之间选择的每一行生成一个随机整数作为计时器.
SELECT downloads.date, products.*, (FLOOR(1 + RAND() * 60)) AS timer
Run Code Online (Sandbox Code Playgroud)
我已经搜索并继续使用FLOOR函数作为如何选择范围内的随机整数.这给了我每一行1.我错过了什么?
我在mysql 5.0.75上
继续查询的其余部分我相信它可能是一个嵌套问题
SELECT *
FROM (
SELECT downloads.date, products.*, FLOOR(1 + (RAND() * 60)) AS randomtimer,
(
SELECT COUNT( * )
FROM distros
WHERE distros.product_id = products.product_id
) AS distro_count,
(SELECT COUNT(*) FROM downloads WHERE downloads.product_id = products.product_id) AS true_downloads
FROM downloads
INNER JOIN products ON downloads.product_id = downloads.product_id
) AS count_table
WHERE count_table.distro_count > 0
AND count_table.active = 1
ORDER BY count_table.randomtimer , count_table.date DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)
Rya*_*roi 95
这对我有用.你的mysql版本可能吗?
SELECT id, (FLOOR( 1 + RAND( ) *60 )) AS timer
FROM users
LIMIT 0 , 30
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75972 次 |
| 最近记录: |