2010-11-23 238 views
14

我需要能夠根據ID從表中選擇兩條記錄。在一個MySQL命令中選擇最大和最小記錄

我需要的第一個,最後一個(因此最小值和最大值)

IE。

表:客戶

id name 

1  Bob 
50 Bob 

任何想法?

感謝

+2

查看手冊的技巧丟失:http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_max – Tommyixi 2016-04-01 21:27:10

回答

35
SELECT MIN(id), MAX(id) FROM tabla 

編輯:如果您需要以檢索該行的你可以這樣做值:

SELECT * 
FROM TABLA AS a, (SELECT MIN(id) AS mini, 
          MAX(id) AS maxi 
        FROM TABLA) AS m 
WHERE m.maxi = a.id 
     OR m.mini = a.id; 

HTH,問候。

+0

謝謝。這非常有幫助。 – Dewan159 2012-11-02 11:31:42

1

這是你在找什麼?

select id, name from customers where id = (select max(id) from customers) 
union all 
select id, name from customers where id = (select min(id) from customers) 

現在我已經測試了這種類型的查詢我有權訪問的MySQL數據庫,它的工作原理。我查詢:

SELECT nome, livello 
FROM personaggi 
WHERE livello = (
SELECT max(livello) 
FROM personaggi) 
+0

這個分組是否正確?它有效嗎? – SubniC 2010-11-23 09:45:28

+0

這不起作用 - 提供無效的分組錯誤。 – TheBounder 2010-11-23 09:49:39

-3

SELECT MIN(值),MAX(值)FROM表

0

使用LIMIT子句中的MySQL:

(SELECT ID,名稱來自客戶的ORDER BY ID DESC LIMIT 0,1)

UNION

(SELECT ID,名稱來自客戶的ORDER BY ID ASC LIMIT 0,1);