简体   繁体   English

如何从MySql中的表中获取最小id

[英]How to get the minimum id from the table in MySql

I have written a MySql query to get the columns related with minimum id . 我编写了一个MySql查询来获取与最小id相关的列。 Looks something like this 看起来像这样

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

The table has 4 rows looks like this 该表有4行,如下所示

在此输入图像描述

So according to the function that I have written 所以根据我写的功能

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'];
 }

It returns empty string for idpropiedad 它返回idpropiedad的空字符串

Can any one help me out where I am going wrong 任何人都可以帮助我摆脱错误的地方

Thanks in advance 提前致谢

I'd think the query you're actually looking for is this: 我认为你实际上正在寻找的查询是这样的:

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

MIN() is giving you the generally lowest value in the column, it does not affect the rest of the columns. MIN()为您提供列中通常最低的值,它不会影响其余列。 If you want the whole row with the lowest id it doesn't help. 如果你想要整具有最低的id它没有帮助。

To illustrate, if you really wanted to use MIN here, you'd have to do: 为了说明,如果你真的想在这里使用MIN ,你必须这样做:

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

You can do a better query like this: 你可以这样做一个更好的查询:

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

This will return only one row with the minimum id number. 这将仅返回具有最小ID编号的一行。 It's more readable than using ORDERING AND LIMIT 1. 它比使用ORDERING AND LIMIT 1更具可读性。

try your select query as 尝试将您的选择查询作为

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

this fetches the row having minimum id. 这将获取具有最小id的行。

Hope it helps 希望能帮助到你

试试这个

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM