У меня есть following sqlfiddle:Выберите отчетливый столбец и получить счет другого столбца
CREATE TABLE tester(
name TEXT,
address TEXT
)
Каждый человек в таблице может иметь несколько адресов. Я хотел бы выбрать все имена и количество адресов, у которых есть> 1 адрес. Я пробовал:
SELECT d.name, count(address) c FROM (SELECT DISTINCT ON(name) FROM tester) d
LEFT JOIN tester ON d.name = links.name
WHERE count(address) > 1
я получаю:
ERROR: syntax error at or near "FROM" Position: 64
Я также попробовал DISTINCT по запросу:
SELECT DISTINCT ON(name) name, count(address) FROM tester HAVING count(address) > 1
я получаю:
ERROR: column "tester.name" must appear in the GROUP BY clause or be used in an aggregate function Position: 26
Я чувствую как я делаю это слишком сложно.
Подумайте: 'GROUP BY'. –
Пожалуйста, не изменяйте характер вопроса после того, как были даны ответы. Вместо этого задайте новый вопрос. Я вернул изменения в ваш первоначальный вопрос. –
Вы правы. Я открою новый. спасибо! –