OMG*_*ies 37
不是特定的功能,没有.
根据需要和数据库支持的功能,有许多方法可以编写查询.
如果共享相同的值,则此方法可能会返回多行:
SELECT x.*
FROM YOUR_TABLE x
WHERE x.column = (SELECT MAX(y.column)
FROM YOUR_TABLE y)
Run Code Online (Sandbox Code Playgroud)
如果共享相同的值,则此方法可能会返回多行:
SELECT x.*
FROM YOUR_TABLE x
JOIN (SELECT MAX(t.column) AS max_col
FROM YOUR_TABLE t) y ON y.max_col = x.column
Run Code Online (Sandbox Code Playgroud)
SQL Server支持TOP
:
SELECT TOP 1
x.*
FROM YOUR_TABLE x
ORDER BY x.column DESC
Run Code Online (Sandbox Code Playgroud)
MySQL和PostgreSQL支持LIMIT
:
SELECT x.*
FROM YOUR_TABLE x
ORDER BY x.column DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
这将返回一行,并且可以配置为每个分组提供最高(或最低)值.但是,此功能是Oracle 9i +,SQL Server 2005+和PostgreSQL 8.4+.
SELECT x.*
FROM (SELECT y.*,
ROW_NUMBER() OVER (ORDER BY y.column DESC) AS rank
FROM YOUR_TABLE y) x
WHERE x.rank = 1
Run Code Online (Sandbox Code Playgroud)
如果它们共享相同的值,则可以返回多行,并且可以配置为每个分组提供最高(或最低)值.但是,此功能是Oracle 9i +,SQL Server 2005+和PostgreSQL 8.4+.
SELECT x.*
FROM (SELECT y.*,
DENSE_RANK() OVER (ORDER BY y.column DESC) AS rank
FROM YOUR_TABLE y) x
WHERE x.rank = 1
Run Code Online (Sandbox Code Playgroud)
SELECT *
FROM mytable
WHERE mycolumn = (
SELECT MAX(mycolumn) FROM mytable
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11785 次 |
最近记录: |