@ivasenkoartem

Почему group by не работает?

Почему не работает?
<?php
  require_once 'connect_db.php';
  function getCategory() {
    global $mysqli;
    connectDB();
    $result = $mysqli->query("SELECT * FROM `shop` GROUP BY `category` ORDER BY `category` DESC");
    closeDB();
    return resultToArray5($result);
  }
  function resultToArray5($result){
    $array = array ();
    while (($row = $result->fetch_assoc()) != false)
      $array[] = $row;
    return $array;
  }
  print_r(getCategory());
 ?>
  • Вопрос задан
  • 445 просмотров
Пригласить эксперта
Ответы на вопрос 2
@caballero
Программист
нужно указать поля по которым идет агрегация а не просто звездочку
Ответ написан
@bioGavs
В секции select можно указывать поля которые есть в group by, либо поля с агрегационные функциями, например max(id).

Ваш запрос будет работать вот так))
SELECT `category` FROM `shop` GROUP BY `category` ORDER BY `category` DESC

Чтоб работал ваш запрос, с * можно поправить настройку sql_mode, сейчас она у вас sql_mode=only_full_group_by. Но это не рекомендуется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы