没有 LIMIT 的第一个值
First value without LIMIT
我想获取在 MYSQL 中没有使用 LIMIT 子句注册的最后一个成员的名字和姓氏。以下代码有效,但我的作业要求我编写没有 LIMIT 的代码。
SELECT firstname, surname
FROM Members
ORDER BY joindate DESC
LIMIT 1
在 MySQL 版本 8 及更高版本中,您可以选择使用 row_number()
window 函数。
SELECT x.firstname,
x.surname
FROM (SELECT m.firstname,
m.surname,
row_number() OVER (ORDER BY m.joindate DESC) rn
FROM members) x
WHERE x.rn = 1;
但我怀疑这是否更好。
使用 WHERE
子句仅 return 具有最新 joindate
:
的行
SELECT firstname, surname
FROM Members
WHERE joindate = (SELECT MAX(joindate) FROM Members)
我想获取在 MYSQL 中没有使用 LIMIT 子句注册的最后一个成员的名字和姓氏。以下代码有效,但我的作业要求我编写没有 LIMIT 的代码。
SELECT firstname, surname
FROM Members
ORDER BY joindate DESC
LIMIT 1
在 MySQL 版本 8 及更高版本中,您可以选择使用 row_number()
window 函数。
SELECT x.firstname,
x.surname
FROM (SELECT m.firstname,
m.surname,
row_number() OVER (ORDER BY m.joindate DESC) rn
FROM members) x
WHERE x.rn = 1;
但我怀疑这是否更好。
使用 WHERE
子句仅 return 具有最新 joindate
:
SELECT firstname, surname
FROM Members
WHERE joindate = (SELECT MAX(joindate) FROM Members)