我的表包含以下字段。
user_email我想要拉记录如下。
例如: 表有12000行。 8唯一的user_email。因此,在拉动记录时,我需要为每个user_email获取300个随机(非不同)记录。总共我应该得到2400条记录。我试过以下。
select SR.name,
MCR.cr_id,
MCR.review_status,
MCR.last_update_time,
MCR.description,
CNT.id as user_id,
CNT.email as user_email
from manual_cr_review as MCR,
selling_rule as SR,
contact as CNT
join selling_rule SR
join manual_creative_review MCR
join contact CNT on SR.id=MCR.rule_id
and CNT.id=MCR.contact_id
MCR.last_update_time >='2017-07-10 00:00:00'
and MCR.last_update_time <'2017-07-14 23:59:59'
and CNT.id in (123,234)
order by
rand () limit 600;
从这个我得到2个用户的随机记录,但它不完全是300&amp;我需要修理它。
任何修改。 !!!
答案 0 :(得分:0)
您可以尝试以下查询:
SELECT b.*
FROM (
SELECT distinct user_email
FROM table
LIMIT 2
) a,
(SELECT *
FROM table
WHERE user_email = a.user_email
LIMIT 300) b;