我只需要从db中找到一个比其他行少的条目。
我写了这个查询,还有别的方法吗?
SELECT *
FROM users
WHERE birthdate < 1420239600它将返回生日小于1320239600的所有用户,但我只需要显示一行,比如1320239599,而不是1到1320239599。
编辑
SELECT * FROM USERS
WHERE birthdate < 13
ORDER BY birthdate DESC
LIMIT 1;它返回1,因为它是较少的,但需求是它应该返回12。
发布于 2015-01-22 10:07:44
MYSQL
SELECT *
FROM users
WHERE birthdate < 1420239600
ORDER BY birthdate DESC
LIMIT 1MSSQL
SELECT TOP 1 *
FROM users
WHERE birthdate < 1420239600
ORDER BY birthdate DESC这将只选择第一个条目。
发布于 2015-01-22 10:15:19
我认为最安全的选择是这样:
SELECT * FROM USERS
WHERE birthdate < 1320239600
ORDER BY birthdate DESC
LIMIT 1;你让接线员走错路了。Arijit的答案只对MySQL或MS Access有效,这个使用ORDER和LIMIT的语句在MySQL中是等价的。
发布于 2015-01-22 10:23:15
用这个代替:
SELECT *
FROM users
WHERE birthdate = (SELECT MIN(birthdate) FROM users) LIMIT 1;https://stackoverflow.com/questions/28085973
复制相似问题