关于postgresql怎么取数据的信息

如何从PostgreSQL json中提取数组

postgresql 从json数组中提取json值,并分组,汇总

创新互联-专业网站定制、快速模板网站建设、高性价比吴忠网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式吴忠网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖吴忠地区。费用合理售后完善,十余年实体公司更值得信赖。

json数据

[java] view plain copy

{"os": "Android", "chn": "-1", "dan": 0, "sex": 0, "file": "lv_statistics", "time": "2017-01-23 16:47:54", "honor": 0, "chn_id": "-1", "is_pay": 0, "account": "-1", "role_id": -1, "battle_id": 1050, "game_time": 301, "role_name": "-1", "battle_name": "-1", "battle_type": 4, "lv_num_json": [{"lv": 8,"num": 1},{"lv": 9,"num": 10}]"}

[java] view plain copy

SELECT cont-'lv_num_json' FROM log_info WHERE file = 'lv_statisticsx'

[java] view plain copy

查询结果:[{"lv": 8, "num": 1}, {"lv": 9, "num": 10}]

[sql] view plain copy

--例子

select json_array_elements(lv_num_json)-'lv' lv,json_array_elements(lv_num_json)-'num' num from (

select '[{"lv": 8, "num": 1}, {"lv": 9, "num": 10}]'::json lv_num_json

)as t1

输出结果:

lv num

---------------------

8 1

9 10

-- json_array_elements :展开一个JSON数组的JSON值

SELECT json_array_elements((cont-'lv_num_json')::json)-'lv' lv,json_array_elements((cont-'lv_num_json')::json)-'num' num

FROM log_info WHERE file = 'lv_statisticsx'

-- 按等级分组,求总人数

select lv ,sum(num::int) from(

SELECT json_array_elements((cont-'lv_num_json')::json)-'lv' lv,json_array_elements((cont-'lv_num_json')::json)-'num' num

FROM log_info WHERE file = 'lv_statisticsx'

) t1 GROUP BY lv

输出结果:

lv num

---------------------

8 2

9 20

PostgreSQL如何导入数据

用我写的软件可以用excel导入到postgresql,你上网找fitreport就行了。

或者这样做:

可以写语句或采用以下的方法

网上转录下来的方法:

步骤:

1.将excel表格字段,按照postgresql

数据库中表的字段顺序来整理数据,并保存为csv文件。

2.用记事本打开csv文件,另存为utf-8格式。

3.使用pgadmin客户端链接postgresql数据库,执行如下脚本,导入csv文件到postgresql数据表:

copy

testdata

from

'd:/test/testdata.csv'

delimiter

as','

csv

quote

as

'"'

注:testdata

是postgresql数据库表的名称。

注意事项:

1.test目录需要赋予postgres

用户可读写的权限,否则会有如下报错信息:

error:

could

not

open

file

"d:/testdata2.csv"

forwriting:

permission

denied

2.csv文件要为utf-8格式,否则导入时可能会有报错:

error:

invalid

bytesequence

for

encoding

"utf8":

0xcdf5

3.注意windows环境下文件路径的表述方式,如:d:/test/data.csv

postgresql怎么截取日期到月份

1、首先需要找到一个带日期字段的数据表。

2、接下来向表中插入日期值。

3、然后通过month函数获取月份即可,注意month里添加的是列名。

4、运行SQL语句以后发现日期中的月份已经被提取出来了。

5、另外还可以在Month中直接加GETDATE函数获取当前时间的月份。


网页名称:关于postgresql怎么取数据的信息
网页URL:http://hbruida.cn/article/dscogeh.html