-- count
https://www.modb.pro/db/33446
-- 统计预估值
SELECT reltuples::bigint
FROM pg_catalog.pg_class
WHERE relname = 'tablename';
-- 要用 * 会有优化
SELECT COUNT(*) FROM tablename
-- 建表
[SugarColumn(ColumnName = "countries", ColumnDescription = "国家", ColumnDataType = "text []", IsArray = true, IsNullable = true)]
public string[] countries { get; set; }
[SugarColumn(ColumnName = "emails", ColumnDescription = "电子邮件", ColumnDataType = "JSONB", IsJson = true, IsNullable = true)]
public object? emails { get; set; }
-- 找出数组中的某一列
SELECT skills, skills[1] /* [1] 返回数组的第1项 */
FROM linkedin_data_demo
WHERE EXISTS (
SELECT 1
FROM unnest(skills) AS skill
WHERE skill = 'economics'
)
LIMIT 10
-- -> 列出 json ->> 转为字符串
-- 根据 json 数组中的 name 进行查找
SELECT data_id, jsonb_array_elements(languages)::json ->> 'name'
FROM linkedin_data_demo
WHERE EXISTS (
SELECT 1
FROM jsonb_array_elements(languages) AS lang
WHERE lang->>'name' = 'french'
)
LIMIT 10
-- 列出 json 数组中的 name 方法 1
SELECT data_id, jsonb_array_elements(languages) ->> 'name'
FROM linkedin_data_demo
WHERE data_id = 'santhosh-ramaswamy-505842118'
-- 列出 json 数组中的 name 方法 2
SELECT data_id, lang ->> 'name'
FROM linkedin_data_demo,
jsonb_array_elements(languages) AS lang
LIMIT 10