Tror jag har löst det med:
Kod:
SELECT prefix_entity.* FROM (
SELECT DISTINCT(entity) FROM prefix_entity
ORDER BY RAND() LIMIT 0,5
) q
JOIN prefix_entity
ON prefix_entity.entity = q.entity
ORDER BY q.entity;
Men det verkar gå gräsligt segt pga ORDER BY RAND(). För att snabba upp det kör jag på en slumpad LIMIT istället, typ:
Kod:
<?php
$num_rows = $db->getNumRows('min_tabell');
$rowset = $db->query('SELECT prefix_entity.* FROM (
SELECT DISTINCT(entity) FROM prefix_entity
LIMIT '.(mt_rand(0, $num_rows-5).',5
) q
JOIN prefix_entity
ON prefix_entity.entity = q.entity
ORDER BY q.entity;');
Om någon har ett bättre förslag (förutom att ändra själva tabellstrukturen) tas det tacksamt emot.