2015-11-03 36 views
1

如何从数据库表中选择一个链接表与最小值SQL

例如

User ID Pending 
------- -------- 
0   5 
1   4 
2   7 

'$resultSet = $mysqli->query("SELECT MIN(write_pending) FROM writerdata_tb"); 
      if ($temp = $resultSet->fetch_assoc()) { 

      }' 

的最小值在这种情况下,一个用户ID选择用户ID,我会希望返回的数据具有最少挂起的用户的值,在本例中为用户1.如何设置MySqli查询来处理此问题?什么是最好的方式来保存结果作为一个变量用于我的PHP的其余部分?

+0

哪里HTML和PHP代码? – aldrin27

+0

'$ resultSet = $ mysqli-> query(“SELECT MIN(write_pending)FROM writerdata_tb”); 如果($ TEMP = $ resultSet-> FETCH_ASSOC()){ }” 这是我到目前为止,我要进行查询和用户ID存储为一个变量 – trecoolable

+0

这个问题是如此普遍,它有它自己的标签[最大每组]。 –

回答

0

可能是这样的,但它很大程度上取决于你的表结构是什么样子。我假设你有一个带有一些ID的通用用户表和你提到的这个待定值。

SELECT userID FROM users WHERE pending = (SELECT MIN(pending) FROM users); 

嵌套查询语句获取最小待定值在表中的列,那么你可以通过强制等待被从嵌套查询调用的返回值优化您选择的用户ID声明。

UPDATE

澄清的处理结果,你的后续问题,这就是你所提供的代码的修改:

$resultSet = $mysqli->query("SELECT userID FROM users WHERE pending = (SELECT MIN(pending) FROM users)"); 

if($resultSet->num_rows > 0) { 
    //We use a while loop here, in the event that there are multiple rows 
    while($row = $resultSet->fetch_assoc()) { 
     echo $row["userID"]; //Accessing the rows index at "userID" 
    } 
} 
+0

因此查询查找待处理的第一个中的最小值,然后将其用作指向userID的指针。我正在实现它,谢谢 – trecoolable

+0

是的,子查询返回所有待定值的最小值,并且您可以搜索与该值关联的用户ID。如果这解决了你的问题,请接受答案。谢谢! – James

+0

是的,我会,但是,我怎样捕获结果并将其作为变量存储?我一直在使用$ resultset方法,但我确定有更高效的方法来执行它 – trecoolable