Go tool for reading original messages from DB and filling out contact table.
SQL scripts for building address book table from most commonly referenced
names per unique email address.
32 lines
571 B
SQL
32 lines
571 B
SQL
DROP TABLE abook;
|
|
|
|
CREATE TABLE
|
|
abook (count, name, address)
|
|
AS SELECT
|
|
DISTINCT ON(lower(address))
|
|
named.count,
|
|
named.name || lower(unnamed.address),
|
|
lower(unnamed.address)
|
|
FROM
|
|
contact unnamed
|
|
LEFT OUTER JOIN (
|
|
SELECT
|
|
DISTINCT ON (lower(address))
|
|
count(name),
|
|
name,
|
|
lower(address) AS laddr
|
|
FROM
|
|
contact
|
|
WHERE
|
|
name != ''
|
|
GROUP BY
|
|
lower(address), name
|
|
ORDER BY
|
|
lower(address),
|
|
count DESC,
|
|
name
|
|
) named
|
|
ON
|
|
named.laddr = lower(unnamed.address)
|
|
;
|