2010-11-23 13 views
14

मुझे आईडी के आधार पर तालिका से दो रिकॉर्ड चुनने में सक्षम होना चाहिए।एक MySQL कमांड में अधिकतम और न्यूनतम रिकॉर्ड का चयन

मैं पहली बार एक है, और पिछले एक (ताकि मिनट, और अधिकतम)

आईई की जरूरत है।

तालिका: ग्राहक

id name 

1  Bob 
50 Bob 

कोई भी विचार?

धन्यवाद

+2

मैनुअल को देखने की कला खो गई है: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_max – Tommyixi

उत्तर

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

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 डेटाबेस मैं उपयोग कर सकते है पर क्वेरी के इस प्रकार का परीक्षण किया है, और यह काम करता है। मेरे प्रश्न: ग्राहकों आदेश से

(आईडी चुनने के नाम से आईडी DESC में LIMIT:

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

क्या यह समूह सही है? क्या यह काम करता है? – SubniC

+0

यह काम नहीं करता है - एक अवैध समूह त्रुटि देता है। – TheBounder

+0

क्षमा करें, 'खराब' समूह को भूल गए, मेरे बुरे। – Albireo

-3

चयन मिन (मान), मैक्स (मान) तालिका

+0

यह काम नहीं कर रहा है –

0

से MySQL में LIMIT में खंड का उपयोग करना 0,1)

यूनिअन

(आईडी चुनने, द्वारा आईडी एएससी LIMIT में 0,1 ग्राहकों आदेश से नाम);

संबंधित मुद्दे