我有下表:
ID Type Name
1 1 first value
2 1 2nd value
3 2 3rd value
我想为每个Name
选择一个随机Type
的行。如果我使用group by Type
选项,它会返回两行,总是(first value
,3rd value
),但我想让它随机:有时first value
,有时{{} 1}}。有没有办法实现这个目标?
答案 0 :(得分:0)
嗯,你的结果是“随机”的,你不能总是得到相同的结果。 MySQL只是给你一些名字的“随机”值。但是,为了获得某些值,他们只需通过表格并选择他们首先或最后看到的内容,因此只要表格不变,结果也不会改变。 / p>
知道这一点,只需先改变行的顺序:
select type, name
from
(
select type, name
from mytable
order by rand()
) randomly
group by type;