получение 1-й строки в базе данных - PullRequest
0 голосов
/ 21 мая 2018

Я хочу получить 1-й ряд, результат зависит от того, в каком здании находится комната.Например, здание 1 имеет 1-200 комнат, а здание 2 - 201-400 комнат.Код, который я попробовал, ниже.Я использовал MIN в предложении where, но я получил все комнаты вместо одного.

$query = $this->db->query("SELECT * FROM `ha_utility_reading`");
if ($query->num_rows == 0) {

    echo "some data match";
    $lastroom = $this->db->select("*")->from("rooms")
      ->where("(SELECT MIN(room_num) FROM ha_rooms) and bldg_num = '$bldg_num'")
      ->get()->result_array();

    foreach($lastroom as $key => $test) {
        $output['room_num'][] = $test['room_num'];
        json_encode($output);
    }

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Попробуйте,

select * from rooms order by room_num asc limit 1;

0 голосов
/ 21 мая 2018

Вы получаете все строки, потому что вам нужно выражение group by.В любом случае, лучший способ сделать это - просто добавить это к вашему запросу:

order by room_num asc limit 1;
...