2015-11-03 54 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