Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obtenha o número N de registros da tabela filho para cada registro pai em um MySQL View


Se você precisar criar uma VIEW, você pode usar algo assim:
CREATE VIEW First_Four AS
SELECT c1.*
FROM
  Child_Table c1 LEFT JOIN Child_Table c2
  ON c1.ParentID = c2.ParentID
     AND (STR_TO_DATE(c1.`date`, '%m/%Y')>STR_TO_DATE(c2.`date`, '%m/%Y')
          OR (STR_TO_DATE(c1.`date`, '%m/%Y')=STR_TO_DATE(c2.`date`, '%m/%Y')
              AND c1.ID>c2.ID)
         ) 
GROUP BY
  c1.ID, c1.ParentID, c1.`Date`, c1.Data
HAVING
  COUNT(c2.ID)<4

Estou considerando os dados do campo como uma coluna VARCHAR, então precisamos usar STR_TO_DATE, se não for podemos apenas comparar c1.date com c2.date diretamente.

Por favor, veja violino aqui .