【发布时间】:2022-11-10 09:42:17
【问题描述】:
Select * from
(SELECT * ,
(ROW_NUMBER() OVER(PARTITION BY age) ) as rn FROM `usr`
ORDER BY sname ASC ) temp
where (`rn` = 2) and (location="Sz")
你好, 当我在 phpmyadmin 中测试这段代码时,每次运行它都会返回不同的值。
【问题讨论】:
-
您没有订购 ROW_NUMBER,因此您无法控制每个
age返回的哪一行。换句话说,把你当前的ORDER BY放在PARTITION BY之后 -
HoneyBadger 为您提供了为什么您的结果不确定的答案。现在,如果您在编写正确查询方面需要帮助,请告诉我们查询应该做什么。
-
@Thaviraj Junglee 使用 PARTION 您应该在 ORDER BY 查询中创建至少两个参数,以确保输出保持相同
标签: sql row-number