#php #mysqli
#php #mysqli
Вопрос:
Я хочу повторить идентификатор candidate_id, который соответствует в моем запросе, но проблема в том, что идентификатор candidate_id является избыточным. Пожалуйста, помогите мне решить эту проблему. Спасибо!
//The result of $select1:
5
5
6
Note: the rows must be 3 rows that's why the $select2 is must be 3rows only and not a redundant
//The result of $select2:
190220015443
190220015600
190220015443
190220015600
190220072659
//Must be the output of $select2:
190220072659
190220015443
190220015600
<?php
$quarter = '1st';
$year = '2019';
$select1 = mysqli_query($db, "SELECT MAX(number_votes) FROM inter_department_votes WHERE quarter = '$quarter' AND year_date = '$year' AND number_votes != 0 AND status = '1' GROUP BY dept_id");
while ($row1 = mysqli_fetch_array($select1)) {
$number_votes1 = $row1['MAX(number_votes)'];
$select2 = mysqli_query($db, "SELECT candidate_id, dept_id FROM inter_department_votes WHERE number_votes = '$number_votes1'");
while ($row2 = mysqli_fetch_array($select2)) {
$candidate_id2 = $row2['candidate_id'];
echo $candidate_id2 . " " . "<br />";
}
}
?>
PS. Я пытаюсь сгруппировать по запросу, но результат тот же. Пожалуйста, помогите мне решить эту проблему:-((((
Комментарии:
1. Вы пробовали группировать по
candidate_id
в $select2?2. @M.Hemant да, я делаю. Но результат тот же.
3. @M.Hemant есть ли какое-либо решение с помощью оператора if else? или другое утверждение?
4. Не могли бы вы, пожалуйста, показать результат запроса $ select1 и $ select2. Спасибо.
5. @pacificskybeachresort как насчет
SELECT DISTINCT(candidate_id)
? Это даст вам разные значения
Ответ №1:
Вы можете изменить свой запрос с помощью SELECT DISTINCT
функции. проверьте этот измененный код ниже:
<?php
$quarter = '1st';
$year = '2019';
$select1 = mysqli_query($db, "SELECT MAX(number_votes) FROM inter_department_votes WHERE quarter = '$quarter' AND year_date = '$year' AND number_votes != 0 AND status = '1' GROUP BY dept_id");
while ($row1 = mysqli_fetch_array($select1)) {
$number_votes1 = $row1['MAX(number_votes)'];
$select2 = mysqli_query($db, "SELECT DISTINCT candidate_id FROM inter_department_votes WHERE number_votes = '".$number_votes1."' GROUP BY candidate_id");
while ($row2 = mysqli_fetch_array($select2)) {
$candidate_id2 = $row2['candidate_id'];
echo $candidate_id2 . " " . "<br />";
}
}
Комментарии:
1. результат тот же :-((
2. @pacificskybeachresort, обновите ответ, пожалуйста, проверьте
3. Я заключил переменную
$number_votes1
в двойные кавычки и добавил group by