Сортировка строк - MySQL
Формулировка задачи:
Доброго времени суток. Подскажите как правильно построить запрос в базу. Есть таблица 'tb_user' со строками summa и data_reg, мне нужно, что бы сортировка показала 20 последних записей по 'summa', но с учетом 'data_reg', то есть если 'summa' равны, то первым выводило у кого 'data_reg' меньше.
Что то в таком духе, но такой запрос не совсем, то что нужно выводит)
Спасибо за информацию.
$bd = mysql_query("SELECT `summa`, `data_reg` FROM `tb_users` ORDER BY `summa` AND `data_reg` DESC LIMIT 20");Решение задачи: «Сортировка строк»
textual
Листинг программы
//Считаем позицию клиента
$user_num = mysql_fetch_assoc(mysql_query("SELECT count(id) as count FROM `tb_users` WHERE `reyting` > '".$user['reyting']."'"), 0);
$user_num_2 = mysql_fetch_assoc(mysql_query("SELECT count(id) as count FROM `tb_users` WHERE `data_reg` < '".$user['data_reg']."' AND `reyting` = '".$user['reyting']."'"), 0);
$position = $user_num['count']+$user_num_2['count']+1; // позиция клиента
//Вывод 20 клиентов
$bd_top = mysql_query("SELECT `login`, `data_reg`, `reyting` FROM `tb_users` ORDER BY `reyting` DESC, `data_reg` ASC LIMIT 20");
Объяснение кода листинга программы
- Считаем позицию клиента
$user_num = mysql_fetch_assoc(mysql_query(SELECT count(id) as count FROMtb_usersWHEREreyting> '.$user['reyting'].'), 0);$user_num_2 = mysql_fetch_assoc(mysql_query(SELECT count(id) as count FROMtb_usersWHEREdata_reg< '.$user['data_reg'].' ANDreyting= '.$user['reyting'].'), 0);$position = $user_num['count']+$user_num_2['count']+1;
- Вывод 20 клиентов
$bd_top = mysql_query(SELECTlogin,data_reg,reytingFROMtb_usersORDER BYreytingDESC,data_regASC LIMIT 20);В данном коде выполняется сортировка строк из таблицыtb_usersпо убыванию рейтинга (reyting) и возрастанию даты регистрации (data_reg). Затем, с помощью функцииLIMIT, выбираются первые 20 строк. Обратите внимание, что используется устаревший подход с использованием функцийmysql_fetch_assocиmysql_query. Вместо этого, рекомендуется использовать более современные и безопасные методы работы с базой данных, такие какmysqliилиPDO.