我想弄清楚这个查询究竟执行什么。特别是部分在其中使用的变量@
和分配:=
。 第一部分是很简单,因为我们从派生表T1嵌套查询,但什么是不是真的清楚,我是RN列的结果。这里的查询:这个mysql查询是什么意思?
SELECT
t1.user_id,
t1.percentage,
t1.id,
t1.name,
(@rn := if(@uid = t1.user_id, @rn + 1,
if(@uid := t1.user_id, 1, 1))
) as rn
FROM
(SELECT
pbt.user_id,
pbt.percentage,
t.id, t.name
FROM
user_purchased_brand_tags AS pbt
JOIN tags t on t.id = pbt.tag_id
ORDER BY pbt.user_id, pbt.percentage desc) t1
你应该我们E中的谷歌或手动的疑虑,并也有很多关于它的问题计算器,例如:https://stackoverflow.com/questions/37869719/difference-between-and或https://stackoverflow.com/问题/ 39379659/what-does-operator-mean-in-mysql – Ryosaku