How do i get a random result on group by
group_id?
its similar like this: Random order for group of rows in mysql
here is my fiddle: http://sqlfiddle.com/#!9/1c73d/3
not sure why it always gives me the same result.
CREATE TABLE job
(`job_id` int, `group_id` int, `user_id` int, `title` varchar(50), `description` varchar(55), `type` tinyint)
;
INSERT INTO job
(`job_id`, `group_id`, `user_id`, `title`, `description`,`type`)
VALUES
(1, 1, 100, 'Title 1', 'Text 1', 1),
(2, 1, 100, 'Title 2', 'Text 2', 1),
(3, 1, 200, 'Title 3', 'Text 3', 1),
(4, 1, 200, 'Title 4', 'Text 4', 1),
(5, 1, 300, 'Title 5', 'Text 5', 2),
(6, 1, 400, 'Title 6', 'Text 6', 1),
(7, 1, 200, 'Title 7', 'Text 7', 1);
Query:
select * from job
where type = 1
group by group_id
order by rand()
Assuming you want one random record from each group under type = 1
:
SELECT
*
FROM
(
SELECT
*
FROM job
WHERE type = 1
ORDER BY RAND()
) AS t
GROUP BY t.group_id;