Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从条件小于的数据库中仅查找一个条目_Mysql_Sql_Select - Fatal编程技术网

Mysql 从条件小于的数据库中仅查找一个条目

Mysql 从条件小于的数据库中仅查找一个条目,mysql,sql,select,Mysql,Sql,Select,我只需要从db中找到一个小于另一行的条目 我写了这个查询,除了这个还有别的方法吗 SELECT * FROM users WHERE birthdate < 1420239600 选择* 来自用户 其中出生日期

我只需要从db中找到一个小于另一行的条目

我写了这个查询,除了这个还有别的方法吗

SELECT * 
FROM  users 
WHERE birthdate < 1420239600
选择*
来自用户
其中出生日期<1420239600
它将返回出生日期小于1320239600的所有用户 但是我只需要显示一行,像1320239599,而不是1到1320239599

编辑

SELECT * FROM USERS
WHERE birthdate < 13
ORDER BY birthdate DESC
LIMIT 1;
从用户中选择*
其中出生日期<13
按出生日期顺序描述
限值1;

它返回1,因为它在所有函数中的值较小,但要求它应该返回12

SELECT * 
FROM  users 
WHERE birthdate < 1420239600
ORDER BY birthdate DESC
LIMIT 1
选择*
来自用户
其中出生日期<1420239600
按出生日期顺序描述
限制1
MSSQL

SELECT TOP 1 * 
FROM  users 
WHERE birthdate < 1420239600
ORDER BY birthdate DESC
选择前1个*
来自用户
其中出生日期<1420239600
按出生日期顺序描述

这将仅选择第一个条目

我认为最安全的选项如下:

SELECT * FROM USERS
WHERE birthdate < 1320239600
ORDER BY birthdate DESC
LIMIT 1;
从用户中选择*
其中出生日期<1320239600
按出生日期顺序描述
限值1;
您让小于运算符走错了方向。
Arijit的答案仅对MS SQL Server或MS Access有效,这个使用ORDER BY和LIMIT的语句在MySQL中是等效的

改用这个:

SELECT * 
FROM users
WHERE birthdate = (SELECT MIN(birthdate) FROM users) LIMIT 1;

你的和我的ans之间有什么区别:)@chriswilks它返回的值在其他记录中较小,但要求它应该返回1320239599而不是1,例如,如果数据是从1到10,如果我想要小于5,那么它应该返回4而不是1@software这就是“desc”的顺序,返回1420239555,但我想要的是1420239559只需更改其中的值case@Arijiit慕克吉你有什么价值saying@software你应该使用我建议的合适的日期格式