从mysql中的表中获取数据

时间:2017-07-18 10:09:47

标签: mysql

我的表包含以下字段。

  1. 名称
  2. audit_id
  3. review_status
  4. USER_ID
  5. user_email我想要拉记录如下。

    • 表应包含每个user_email的300条随机记录。
  6. 例如: 表有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;我需要修理它。

    任何修改。 !!!

1 个答案:

答案 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;