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

Вземете първи/последни n записа на група от

Много опростено и коригирано решение на Карлос (решението му ще върне първите 5 реда, а не последните...):

SELECT tB1.idA, tB1.idB, tB1.textB
FROM tableB as tB1
    JOIN tableB as tB2
        ON tB1.idA = tB2.idA AND tB1.idB <= tB2.idB
GROUP BY tB1.idA, tB1.idB
HAVING COUNT(*) <= 5

В MySQL можете да използвате tB1.textB дори ако е група по заявка, защото групирате по idB в първата таблица, така че има само една стойност на tB1.textB за всяка група...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SELECT COUNT() срещу mysql_num_rows();

  2. Може ли MySQL да преобразува съхранено UTC време в местна часова зона?

  3. Как да добавите опция към sql_mode в MySQL, без да губите съществуващи настройки

  4. Най-добрият кошмар за наследена база данни на MySQL

  5. MYSQL Преобразува времевата марка в месец