2015-03-09 3 views
2

Я написал запрос MySql, чтобы получить столбцы, связанные с минимальным id. Похоже что-то вроде этогоКак получить минимальный идентификатор из таблицы в MySql

SELECT min(id) as ID,feed , idpropiedad FROM `registrofeed` WHERE feed=21 

В таблице 4 строки выглядит следующим образом

enter image description here

Так, по функции, которую я написал

function setLC() 
{ 

    $sql = " 
SELECT min(id) as ID 
    , feed 
    , idpropiedad 
    FROM `registrofeed` 
WHERE feed=21 
"; 
    $result = $this->localDb->execute($sql); 
    $row=mysql_fetch_array($result); 
    echo $sql; 
    echo $row['idpropiedad']; 
    $this->lastCode = $row['idpropiedad']; 
} 

Он возвращает пустую строку для idpropiedad

Может ли кто-нибудь помочь мне где я неправильно

Спасибо заранее

+1

Вы попросили MySQL вернуть idpropriedad по своему выбору. Так оно и есть. – Strawberry

+0

заказать по возрастанию получить первую строку – Ghost

ответ

2

Я думаю, что запрос на самом деле вы ищете это:

SELECT id, feed, idpropiedad 
    FROM registrofeed 
WHERE feed = 21 
ORDER BY id ASC 
LIMIT 1 

MIN() дают вам вообще наималейшее значение в столбце, это не влияет на остальные столбцы. Если вы хотите целую строку с самой низкой ценой id это не поможет.

Для иллюстрации, если вы действительно хотите использовать MIN здесь, вы должны сделать:

SELECT id, feed, idpropiedad 
    FROM registrofeed 
WHERE id = (SELECT MIN(id) FROM registrofeed WHERE feed = 21) 
0

попытать выберите запрос в

SELECT * FROM registrofeed WHERE feed = '21' ORDER BY id ASC LIMIT 1

это выбирает строку, имеющий минимальный идентификатор.

Надеется, что это помогает

0

Попробуйте

$sql = "SELECT min(id) as ID,feed , idpropiedad FROM `registrofeed` WHERE feed='21' order by id asc"; 
2

Вы можете сделать лучший запрос, как это:

$sql = " 
SELECT id as ID 
    , feed 
    , idpropiedad 
    FROM `registrofeed` 
WHERE feed=21 
HAVING MIN(id) 
"; 

Это вернет только одну строку с минимальным номером id. Это более читаемо, чем использование ЗАКАЗА И ПРЕДЕЛ 1.

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