首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只从条件少于条件的数据库中找到一个条目

问只从条件少于条件的数据库中找到一个条目
EN

Stack Overflow用户
提问于 2015-01-22 10:06:14
回答 3查看 110关注 0票数 0

我只需要从db中找到一个比其他行少的条目。

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

代码语言:javascript
复制
SELECT * 
FROM  users 
WHERE birthdate < 1420239600

它将返回生日小于1320239600的所有用户,但我只需要显示一行,比如1320239599,而不是1到1320239599。

编辑

代码语言:javascript
复制
SELECT * FROM USERS
WHERE birthdate < 13
ORDER BY birthdate DESC
LIMIT 1;

它返回1,因为它是较少的,但需求是它应该返回12。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-22 10:07:44

MYSQL

代码语言:javascript
复制
SELECT * 
FROM  users 
WHERE birthdate < 1420239600
ORDER BY birthdate DESC
LIMIT 1

MSSQL

代码语言:javascript
复制
SELECT TOP 1 * 
FROM  users 
WHERE birthdate < 1420239600
ORDER BY birthdate DESC

这将只选择第一个条目。

票数 1
EN

Stack Overflow用户

发布于 2015-01-22 10:15:19

我认为最安全的选择是这样:

代码语言:javascript
复制
SELECT * FROM USERS
WHERE birthdate < 1320239600
ORDER BY birthdate DESC
LIMIT 1;

你让接线员走错路了。Arijit的答案只对MySQL或MS Access有效,这个使用ORDER和LIMIT的语句在MySQL中是等价的。

票数 1
EN

Stack Overflow用户

发布于 2015-01-22 10:23:15

用这个代替:

代码语言:javascript
复制
SELECT * 
FROM users
WHERE birthdate = (SELECT MIN(birthdate) FROM users) LIMIT 1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28085973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档