繁体   English   中英

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

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

我编写了一个MySql查询来获取与最小id相关的列。 看起来像这样

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

该表有4行,如下所示

在此输入图像描述

所以根据我写的功能

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的空字符串

任何人都可以帮助我摆脱错误的地方

提前致谢

我认为你实际上正在寻找的查询是这样的:

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)

你可以这样做一个更好的查询:

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

这将仅返回具有最小ID编号的一行。 它比使用ORDERING AND LIMIT 1更具可读性。

尝试将您的选择查询作为

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

这将获取具有最小id的行。

希望能帮助到你

试试这个

$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