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

Как да избера фиксиран брой редове за всяка група?

Използвайте:

SELECT x.a,
       x.b,
       x.distance
  FROM (SELECT t.a,
               t.b,
               t.distance
               CASE 
                 WHEN @distance != t.distance THEN @rownum := 1 
                 ELSE @rownum := @rownum + 1 
               END AS rank,
               @distance := t.distance
          FROM TABLE t
          JOIN (SELECT @rownum := 0, @distance := '') r
      ORDER BY t.distance --important for resetting the rownum variable) x
 WHERE x.rank <= 2
ORDER BY x.distance, x.a


  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:ПОРЪЧАЙ ПО с празна дата '0000-00-00' като последна, но останалите ASC

  2. Как да тествате дали Ci успешно е вмъкнал данни

  3. Symfony2:Основна таблица или изглед не са намерени:1146

  4. Грешка в MySQL/PHP:[2002] Само едно използване на всеки адрес на сокет (протокол/мрежов адрес/порт) обикновено е разрешено

  5. Как да избегнете ключова дума със стойност в mysql, докато използвате оператор Select