Сортировка строк - 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");

Объяснение кода листинга программы

  1. Считаем позицию клиента
    • $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;
  2. Вывод 20 клиентов
    • $bd_top = mysql_query(SELECT login, data_reg, reyting FROM tb_users ORDER BY reyting DESC, data_reg ASC LIMIT 20); В данном коде выполняется сортировка строк из таблицы tb_users по убыванию рейтинга (reyting) и возрастанию даты регистрации (data_reg). Затем, с помощью функции LIMIT, выбираются первые 20 строк. Обратите внимание, что используется устаревший подход с использованием функций mysql_fetch_assoc и mysql_query. Вместо этого, рекомендуется использовать более современные и безопасные методы работы с базой данных, такие как mysqli или PDO.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы