Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL SELECT ранг на потребител (повече от x и по-малко от y)

Можете да го направите по този начин

SELECT
  tu.id,
  tr.name,
  tu.points
FROM table_ranks as tr
  LEFT JOIN (SELECT * FROM table_ranks LIMIT 1,69596585953484) as l
    ON l.points_needed = (SELECT MIN(points_needed) FROM table_ranks WHERE points_needed > tr.points_needed limit 1)
  LEFT OUTER JOIN table_users AS tu ON tu.points >= tr.points_needed AND tu.points < l.points_needed
WHERE tu.id IS NOT NULL
group by tu.id

Fiddle

Изход

-------------------------
| id  | points   | name |
-------------------------
| 1   |   lvl0   | 2    |
| 2   |   lvl1   | 10   |
| 3   |   lvl2   | 21   |
| 4   |   lvl2   | 29   |
-------------------------


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване на пореден номер в MySQL

  2. Докато импортирате mysqldump файл ГРЕШКА 1064 (42000) близо до „ ■/“ на ред 1

  3. Пренасочване на скитни портове за Mysql

  4. Местоположение на файла my.cnf в macOS

  5. PHP MySQL - За всеки 6 реда вмъкнете div?