SDK Manager: не удалось установить. SDK для платформы Android 3.0 API 11, редакция 2

Другим простым решением было бы ранжирование строк и выборка одного из них случайным образом, и с помощью этого решения вам не нужно будет иметь столбец «Id» в таблице.

SELECT d.* FROM (
SELECT  t.*,  @rownum := @rownum + 1 AS rank
FROM mytable AS t,
    (SELECT @rownum := 0) AS r,
    (SELECT @cnt := (SELECT RAND() * (SELECT COUNT(*) FROM mytable))) AS n
) d WHERE rank >= @cnt LIMIT 10;

Вы можете измените предельное значение в соответствии с вашей потребностью на доступ к столько строк, сколько хотите, но это будет главным образом последовательными значениями.

Однако, если вам не нужны последовательные случайные значения, вы можете получить более крупный образец и выберите случайным образом из него. что-то вроде ...

SELECT * FROM (
SELECT d.* FROM (
    SELECT  c.*,  @rownum := @rownum + 1 AS rank
    FROM buildbrain.`commits` AS c,
        (SELECT @rownum := 0) AS r,
        (SELECT @cnt := (SELECT RAND() * (SELECT COUNT(*) FROM buildbrain.`commits`))) AS rnd
) d 
WHERE rank >= @cnt LIMIT 10000 
) t ORDER BY RAND() LIMIT 10;
13
задан Dmitry Makovetskiyd 11 August 2011 в 08:32
поделиться