2015-08-19 3 views
-1

Я хочу получить min (somecolumn) из таблицы из первых n строк в MySQL. Каков наилучший запрос для получения результата?Получение минимальных верхних n строк

До сих пор я нашел

select min(a.column) from (select column from table limit 2000) a 

select min(a.column) from table a INNER JOIN (select column from table b limit 2000) on a.pricolumn = b.pricolumn. 
+0

В чем проблема с тем, что у вас есть? – vesan

ответ

0

select min(t.columnName) from tableName as t limit 10 (Здесь п предел для первых 10 строк в качестве примера)

ИЛИ

select outerTable.columnName from (select distinct t.columnName from tableName as t order by t.columnName asc limit 10) as outerTable limit 1,1

+0

Привет, Prakit спасибо за ваш ответ http://stackoverflow.com/questions/4708708/mysql-order-by-limit в соответствии с приведенным выше сообщением Query «select min (t.columnName) from tableName как t limit 10» вернет мин (t.columname) из всей таблицы не из 10 записей, но ваш второй запрос будет работать. но моя проблема - второй запрос, не использующий индекс, поэтому он выполняется очень медленно. – srikannan

+0

Тогда используйте решение 1. –

0

Попробуйте ниже синтаксис:

SELECT min(columname) FROM tablename limit n

+0

Hi Ritobroto, спасибо за ваш ответ Запрос «select min (t.columnName) from tableName как t limit 10" будет возвращать min (t.columname) из всей таблицы не из 10 записей. – srikannan

+0

попробуйте: 'SELECT min (columname) FROM tablename WHERE columnname МЕЖДУ нижним пределом И высшим ограничением LIMIT n;' Вы хотите это? –

Смежные вопросы