2009-07-17 123 views
2

如何从表中检索第一个和最后一个记录。如何获取DB的第一个和最后一个记录

注:我不会做的

+7

问题是没有意义..... – 2009-07-17 14:04:09

+4

+1 - >我可能有点争议在这里,但我认为一旦你熟悉一些RDMBS,并已运行显著数的SQL查询你知道,没有承诺的行排序在一个表中,除非你有意地对它们进行ORDER。但是,初学者如何知道这一点?表格具有第一行和最后一行是完全自然的投影。 – quosoo 2009-07-17 14:33:27

回答

11

取决于你是什么意思通过“第一”和“最后”。

您可以“排序”一个特定的列,然后选择“限制1”,然后选择“排序...下降”来获得相反的结果。

例如

SELECT * FROM table ORDER BY col LIMIT 1 
SELECT * FROM table ORDER BY col DESC LIMIT 1 

...如果你想同时在同一个查询:

SELECT * FROM table ORDER BY col LIMIT 1 
UNION 
SELECT * FROM table ORDER BY col DESC LIMIT 1 
2
SELECT TOP 1 * FROM Table ORDER BY 1 
SELECT TOP 1 * FROM Table ORDER BY 1 DESC 

订购假设你的第一列是关键

(以及将在T-SQL工作)

4

问题没有什么意义,但是,假设你从谈论的第一个和最后一行表这将工作,但最好做两个单独的查询,并假设你有一个数字ID列。 MySQL的例子:

select * from test where id = (select max(id) from test) 
union 
select * from test where id = (select min(id) from test) 
相关问题