From PEP8:
snake_case for all identifiers (no CamelCase)AS for aliases, specify JOIN typesyyyy-mm-ddThh:mm:ss.sssssuser_id to reference users table (singular + _id)-- Root keywords left-aligned
-- Arguments indented relative to root keyword
select
client_id,
submission_date
from main_summary
where
sample_id = '42'
and submission_date > '20180101'
limit 10;
/* Block comments for multi-line descriptions */
-- Line comments for single line notes
select
client_id, -- user identifier
submission_date
from main_summary;
-- Opening paren ends the line
-- Closing paren aligns with starting line
-- Contents indented
with sample as (
select
client_id,
submission_date
from main_summary
where sample_id = '42'
)
-- AND/OR at beginning of line
where
submission_date > '20180101'
and sample_id = '42'
id column of type identity generated alwayscomment on table...public schema_id suffix for foreign keysdate_trunc() not DATE_TRUNC()-- Acceptable: use numbers to avoid repeating complex expressions
select
date_trunc('minute', xact_start) as xact_start_minute,
count(*)
from pg_stat_activity
group by 1
order by 1;
select
t.client_id as client_id,
date(t.created_at) as day
from telemetry as t
inner join users as u
on t.user_id = u.id
where
t.submission_date > '2019-07-01'
and t.sample_id = '10'
group by t.client_id, day;
SELECT t.client_id, DATE(t.created_at) day
FROM telemetry t, users u
WHERE t.user_id = u.id AND t.submission_date > '2019-07-01'
GROUP BY 1, 2;