[英]Mysql access main table inside right joined subquery
SELECT id,region FROM ads
RIGHT JOIN (SELECT * FROM ads a2 WHERE a2.region=ads.region LIMIT 4) AS regions
ON regions.id=ads.id
Says "unknown column ads.region". 说“ unknown column ads.region”。 How to access main table column region? 如何访问主表的列区域?
I need to fetch 4 rows for each region 我需要为每个区域获取4行
Use: 采用:
SELECT a.id,
a.region
FROM ads a
RIGHT JOIN (SELECT t.*,
CASE
WHEN @region = t.region THEN @rownum := @rownum + 1
ELSE @rownum := 1
END as rank,
@region := t.region
FROM ADS t
JOIN (SELECT @rownum := 0, @region := 1) r
ORDER BY t.region) b ON b.id = a.id
AND b.region = a.region
AND b.rank <= 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.