Было бы полезно, если бы вы показали SQL-запрос.Однако исчезающая строка, очевидно, связана с добавляемым GROUP BY company_name
.
Когда вы добавляете GROUP BY groupfield
, все строки с одинаковым groupfield
«сворачиваются» в одну строку.Столбцы, которые зависят от этого поля, например company_logo
, обычно могут безопасно оставаться в списке SELECT
.Все остальные должны быть удалены или изменены для использования агрегатной функции, такой как SUM()
или COUNT()
.
Поэтому, если вы хотите показать количество рабочих мест для каждой компании, используйте COUNT(job_id)
или COUNT(*)
.
В вашем случае, я думаю, у вас есть два варианта.
Первый вариант - НЕ использовать GROUP BY
, возможно, только ORDER BY
и использовать код PHP, чтобы показать, что вам нужно.
Второйможно использовать GROUP BY
и агрегатную GROUP_CONCAT()
функцию.
Вы можете использовать ее как:
SELECT
company_name
, GROUP_CONCAT( job_id
ORDER BY job_id
SEPARATOR ', ' )
AS job_ids
, GROUP_CONCAT( job_title
ORDER BY job_id
SEPARATOR ', ' )
AS job_titles
, GROUP_CONCAT( CONCAT(job_id, '-', job_title)
ORDER BY job_id
SEPARATOR ', ' )
AS job_ids_and_titles
, company_name
, logo_small
, logo_large
, employer_id
FROM
...
GROUP BY company_name