Я только пытаюсь отобразить строки с одинаковым значением столбца GROUP_CONCAT ().При использовании GROUP BY в конце он просто показывает последнее полное имя в таблице из-за страны GROUP BY.Можно ли показать все строки, когда я группирую по стране?Это мой sql:
SELECT firstname, lastname, country, COUNT(*) c
FROM (
SELECT firstname, lastname,
GROUP_CONCAT(
DISTINCT f.countryname
ORDER BY f.countryname ASC
SEPARATOR ','
) AS country
FROM person p
INNER JOIN favoritecountry f
ON p.id = f.id
GROUP BY firstname, lastname
) t
GROUP BY country
HAVING c > 1
ORDER BY c DESC;
Мой результат:
+-----------+----------+--------------+---+
| firstname | lastname | country | c |
+-----------+----------+--------------+---+
| bill | smith | Poland,Spain | 2 |
+-----------+----------+--------------+---+
Вместо этого я хочу что-то вроде этого:
+-----------+----------+--------------+---+
| firstname | lastname | country | c |
+-----------+----------+--------------+---+
| bill | smith | Poland,Spain | 2 |
| phil | cooper | Poland,Spain | 2 |
+-----------+----------+--------------+---+
Новое в SQL, поэтому нужнонекоторая помощь