Loading...
PHP/MySQL | SQL запрос на вывод 5 записей
Есть несколько тысяч записей в таблице
id name
__
нужно вывести их в алфавитном порядке (name ASC)
но вывести только 5 записей каждой из букв, что-то придумать не могу можно ли одним запросом ,не прибегая к php коду,только sql командой
По моему нет такого возможность
sort()
Делаем массив букв потом запрос на 5 записей в соответствии с первой буквой,усе*hlophlop*

Пс чисто на одном запросе такого не сделаешь
________
посл. ред. 08.06.2019 в 17:40; всего 2 раз(а); by lord
while() и в нутри добавь utf для букв и через if определи значения и выведится
вот удалось вывести только по одной записи каждой из буквы, а мне нужно по 3-5(((
SELECT name, id FROM table GROUP BY SUBSTR(name, 1, 1)
________
посл. ред. 08.06.2019 в 18:00; всего 1 раз(а); by jasis
решил это так
$query_row = 'SELECT SUBSTR(name, 1, 1) AS one, name, id FROM table ORDER BY name ASC ';

$new_array = array();

foreach ($query_row as $key => $val) {
$one = mb_strtolower($val['one'], 'UTF-8');
$count = (isset($new_array[$one]) ? count($new_array[$one]) : 0);

if($count >= 3) continue;
$new_array[$one][]= $query_row[$key];
}
Онлайн: 3
Время:
Gen. 0.1103
(c) Bym.Guru 2010-2025