在不使用子查询或自连接的情况下,要获取具有最大值的多行,可以使用以下方法:
SELECT column1, column2, MAX(column3) AS max_value
FROM table_name
GROUP BY column1, column2
HAVING column3 = MAX(column3);
这将根据column1和column2分组,并使用HAVING子句筛选出具有最大值的行。
SELECT t1.column1, t1.column2, t1.column3
FROM table_name t1
INNER JOIN (
SELECT MAX(column3) AS max_value
FROM table_name
) t2 ON t1.column3 = t2.max_value;
这将创建一个子查询,找到具有最大值的行,并将其与原始表连接。然后,您可以选择要显示的列。
请注意,这些方法都没有直接使用子查询或自连接,但在内部仍然使用了子查询。如果完全禁止使用子查询或自连接,可能需要使用其他方法来解决问题。
上一篇:不使用子查询或显式连接的查询
下一篇:不使用子查询找到最大的sID