타이머로 1과 60 사이에서 선택하는 각 행에 대해 임의의 정수를 생성하려고합니다.mysql 임의 정수 범위를 얻는 방법은 무엇입니까?
SELECT downloads.date, products.*, (FLOOR(1 + RAND() * 60)) AS timer
범위에서 임의의 정수를 선택하는 방법으로이 FLOOR 기능을 검색하여 계속 사용하고 있습니다. 이것은 모든 행에 대해 1을 제공합니다. 내가 무엇이 누락 되었습니까?
나는
MySQL은 5.0.75 오전을 Heres 나는 그것이
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
이로 인해 구문 오류가 발생했습니다. – kevzettler
int로 캐스팅하는 대신 floor를 사용할 수 있으며, 캐스팅은 라운드를 사용합니다. –