столбец get count для всех записей в возвращаемых записях sql - PullRequest
0 голосов
/ 28 апреля 2019

Мне нужно получить количество записей и мне нужно отобразить результат, дублируя все записи в возвращаемом результате.

{
    "id": 1,
    "count1": "5"
}

В качестве ответа json в настоящее время я получил вышеуказанный вывод.Но мне нужно это следующим образом.

{
    "id": 1,
    "count1": "5"    
},
{
    "id": 2,
    "count1": "5"    
},
{
    "id": 3,
    "count1": "5"    
}

Мой попытанный запрос, как показано ниже.

 $query = 'SELECT c.id, count(c) count1 FROM App\Entity\Car c';

Как мне достичь ожидаемого результата?

1 Ответ

0 голосов
/ 28 апреля 2019

Если у вас есть таблица чисел, вы можете сделать:

SELECT c.id, n.n, count1
FROM (SELECT c.id, count(c) as count1
      FROM `App\Entity\Car` c
      GROUP BY c.id
     ) c JOIN
     numbers n
     ON n.n <= c.count1;

Если вы этого не сделаете, вы можете создать его на лету, если ваш стол достаточно большой:

SELECT c.id, n.n, count1
FROM (SELECT c.id, count(c) as count1
      FROM `App\Entity\Car` c
      GROUP BY c.id
     ) c JOIN
     (SELECT (@rn := @rn + 1) as n
      FROM numbers n CROSS JOIN
           (SELECT @rn := 0) params
     ) n
     ON n.n <= c.count1;
...