谁能解释下面的查询如何工作?
这是什么概念?
SELECT salary FROM (SELECT salary FROM employees ORDER BY salary DESC LIMIT 2) AS Emp
ORDER BY salary LIMIT 1;
答案 0 :(得分:1)
env:
- name: MONGO_INITDB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: password
您的第一个/子查询查询返回了薪金列的2个薪水(如您所说的限制2),因为您按降序对其进行排序,这就是为什么它将返回最后2个大薪水
然后,第二个查询/主查询将在返回的第一个查询的第2行中选择一个,并且将从第2个薪水中返回最小值,因为默认情况下它是按升序排列的。
SELECT salary FROM employees ORDER BY salary DESC LIMIT 2
例如:薪水列有10、20、30、35条记录
和 主要查询
SELECT salary FROM
(SELECT salary FROM employees ORDER BY salary DESC LIMIT 2)
AS Emp ORDER BY salary LIMIT 1;
这35和30的输出
然后主要
SELECT salary FROM employees ORDER BY salary DESC LIMIT 2--then