2015-11-03 5 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()) { 

      }' 

в этом случае, я хотел бы, чтобы данные, которые были возвращены, имели значение пользователя с наименьшим ожиданием, в данном случае являющимся пользователем 1. Как мне настроить запрос MySqli для обработки этого? И что было бы лучшим способом сохранить результат как переменную для использования в остальной части моего php?

+0

Где в HTML и PHP-код? – aldrin27

+0

'$ resultSet = $ mysqli-> query ("SELECT MIN (write_pending) FROM writerdata_tb"); если ($ температура = $ resultSet-> FETCH_ASSOC()) { }» это то, что я до сих пор, я хочу, чтобы сделать запрос и хранить идентификатор пользователя в качестве переменной – trecoolable

+0

Этот вопрос настолько распространен, он имеет его собственный тег [наибольший-n-на-группу]. –

ответ

0

Возможно, что-то вроде этого, но в значительной степени зависит от структуры вашей таблицы. Я предположил, что у вас есть таблица общих пользователей с некоторыми идентификаторами и указанным выше ожидаемым значением.

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

Вложенная Выберите оператор получает наименьшее ожидающий значение в этой колонке вашей таблицы, то вы можете уточнить отборное заявление USERID, заставляя ожидании быть возвращенное значение из этого вложенного выберите вызов.

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

, поэтому запрос ищет минимальное значение в ожидании первого, а затем использует это как указатель на идентификатор пользователя. Я реализую его сейчас, спасибо – trecoolable

+0

Да, подзапрос возвращает минимум всех ожидающих значений, и вы можете искать идентификатор пользователя, связанный с этим значением. Пожалуйста, примите ответ, если это решит его для вас. Благодаря! – James

+0

Да, я тоже, но также, как я могу поймать результат и сохранить его как переменную? Я использовал метод $ resultset, но я уверен, что есть более эффективный способ сделать это. – trecoolable

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