有张记录表operate_info,筛选出每地区每天前10用户的所有操作记录
表信息:operate_info(userid,region,operate_time,create_time,p_day)
求sql怎么写
是限定只能用一条 sql 实现?
SELECT
*
FROM
operate_info op1
WHERE
op1.userid IN (
SELECT
t.userid
FROM
(
SELECT
op2.userid
FROM
operate_info op2
WHERE
DATE( op1.operate_time ) = DATE( op2.operate_time )
AND op1.region = op2.region
GROUP BY
op2.userid
ORDER BY
COUNT( op2.userid ) DESC
LIMIT 3
) t
)
里面的 LIMIT 就是前多少名,你改成 10 后试试呢。我这里测上去没啥问题