Сортировка строк - 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_users
WHEREreyting
> '.$user['reyting'].
'), 0);
$user_num_2 = mysql_fetch_assoc(mysql_query(
SELECT count(id) as count FROMtb_users
WHEREdata_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
,reyting
FROMtb_users
ORDER BYreyting
DESC,data_reg
ASC LIMIT 20);
В данном коде выполняется сортировка строк из таблицыtb_users
по убыванию рейтинга (reyting
) и возрастанию даты регистрации (data_reg
). Затем, с помощью функцииLIMIT
, выбираются первые 20 строк. Обратите внимание, что используется устаревший подход с использованием функцийmysql_fetch_assoc
иmysql_query
. Вместо этого, рекомендуется использовать более современные и безопасные методы работы с базой данных, такие какmysqli
илиPDO
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д