Data update

This commit is contained in:
Ingy döt Net 2025-08-11 18:05:26 -07:00
parent 4d5544505c
commit 4924dd0264
3073 changed files with 55820 additions and 4408 deletions

View file

@ -0,0 +1,2 @@
create or replace table t as
from read_csv_auto('readings.txt', header=false);

View file

@ -0,0 +1 @@
alter table t rename column column00 to date;

View file

@ -0,0 +1,7 @@
.mode list
.headers off
.once dynamic.tmp
select 'alter table t rename column ''column' || format('{:02d}', 2 * n) || ''' to ''flag' || format('{:02d}'';', n) from range(1,25) t(n);
.read dynamic.tmp
.mode duckdb
.headers on

View file

@ -0,0 +1,9 @@
# The values in a struct as JSON values
create or replace function struct_values(s) as (
with j as (select s::JSON as j)
SELECT list_transform( json_keys(j), k -> j[k]) from j
);
# Number of nulls in an entire table:
select sum(length(list_filter(struct_values(t), x -> x = 'null'))) as "|null|"
from (select t from t);

View file

@ -0,0 +1,9 @@
# j is a JSON object ; return a list of the keys for which the value is less than 1
create or replace function report(j) as (
list_filter(json_keys(j), k -> (j -> k) < 1 )
);
select count(*) from
from (select report(struct_pack(*COLUMNS('flag'))::JSON) as flags
from t
where flags = []);

View file

@ -0,0 +1,6 @@
with allflags as (
select array_agg(flags) as flags
from (select report(struct_pack(*COLUMNS('flag'))::JSON) as flags from t)
)
select list_reduce( flags, (acc,x) -> list_intersect(acc,x) ) as "never worked"
from allflags;