使用PostgreSQL 9.3(及其新的JSON功能),如果我有一个名为'races'的简单表格,其中包含两列描述,如下所示:
我该如何查询表格以获得以下结果:
1)Sam获得第一名的比赛
2)Sam获得第一名,John获得第二名的比赛
3)大于30岁的跑步者数量> 5且奖金> 5000的比赛
迄今为止,我的实验(特别是在查询嵌套数组有效负载时)已经进一步规范化数据,即创建一个名为“runners”的表,以便进行此类查询。理想情况下,我想使用这种新型json查询技术,但就这3个简单查询而言,我似乎无法弄清它的相关性。
race-id integer,
race-data json
JSON是每个比赛的有效载荷,类似于:
{ "race-time": some-date,
"runners": [ { "name": "fred","age": 30, "position": 1 },
{ "name": "john","age": 29, "position": 3 },
{ "name": "sam","age": 31, "position": 2 } ],
"prize-money": 200 }
我该如何查询表格以获得以下结果:
1)Sam获得第一名的比赛
2)Sam获得第一名,John获得第二名的比赛
3)大于30岁的跑步者数量> 5且奖金> 5000的比赛
迄今为止,我的实验(特别是在查询嵌套数组有效负载时)已经进一步规范化数据,即创建一个名为“runners”的表,以便进行此类查询。理想情况下,我想使用这种新型json查询技术,但就这3个简单查询而言,我似乎无法弄清它的相关性。