从在 orientdb 中给出数组的单列中删除重复条目
remove duplicate entry from single column which gives array in orientdb
SELECT medias,likes,description,createdon,title,postid,type,catagory,out('createdby').Name as Authors ,out('createdby').Nominator.Name as nominator, out('createdby').Nominator.school.Name as school from post where isDeleted=false order by createdon desc
我必须从每个 post 中获取详细信息。
这是我的关系
[post]-创建者->[学生]
student table 有一个对象名称 Nominator,其中包含提名人的详细信息,table nominator 有一个名为 school 的字段,其中包含学校的详细信息
当我运行上面的命令时,我得到这样的输出
[
{
"@type": "d",
"@rid": "#-2:15",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/d5f1c692c0a01bd0d308b0cc3aa090cb.jpg",
"likes": 1,
"description": "This is art of rabbit ",
"createdon": "2017-10-23 22:00:27",
"title": "Rabbit",
"postid": "0hLU1",
"type": "photo",
"catagory": "Art",
"Authors": [
"SONISHA M"
],
"nominator": [
"karthikairani j"
],
"school": [
"Panchayat union middle school,keelamelkudi"
]
},
{
"@type": "d",
"@rid": "#-2:12",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/fd1fe7227d1e6d6bfd455dffddb41db9.jpg",
"likes": 1,
"description": "This post of multiple students work on global warming issues ",
"createdon": "2017-10-23 20:17:55",
"title": "Global warming ",
"postid": "BwOk7",
"type": "photo",
"catagory": "Art",
"Authors": [
"BALANIKUMAR M",
"YUVARAJ R",
"SOBIK RAJ C",
"KALIDASS R"
],
"nominator": [
"Arokia raj",
"Arokia raj",
"Arokia raj",
"Arokia raj"
],
"school": [
"Panchayat union middle school,keelamelkudi",
"Panchayat union middle school,keelamelkudi",
"Panchayat union middle school,keelamelkudi",
"Panchayat union middle school,keelamelkudi"
]
}
单个post可以由许多提名人
下的许多学生完成
那么如何过滤它以仅显示在学校中出现过一次的单个提名人姓名
我怎样才能更改我的代码以获得像这样的输出有什么方法可以使它更有效率
[
{
"@type": "d",
"@rid": "#-2:15",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/d5f1c692c0a01bd0d308b0cc3aa090cb.jpg",
"likes": 1,
"description": "This is art of rabbit ",
"createdon": "2017-10-23 22:00:27",
"title": "Rabbit",
"postid": "0hLU1",
"type": "photo",
"catagory": "Art",
"Authors": [
"SONISHA M"
],
"nominator": [
"karthikairani j"
],
"school": [
"Panchayat union middle school,keelamelkudi"
]
},
{
"@type": "d",
"@rid": "#-2:12",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/fd1fe7227d1e6d6bfd455dffddb41db9.jpg",
"likes": 1,
"description": "This post of multiple students work on global warming issues ",
"createdon": "2017-10-23 20:17:55",
"title": "Global warming ",
"postid": "BwOk7",
"type": "photo",
"catagory": "Art",
"Authors": [
"BALANIKUMAR M",
"YUVARAJ R",
"SOBIK RAJ C",
"KALIDASS R"
],
"nominator": [
"Arokia raj"
],
"school": [
"Panchayat union middle school,keelamelkudi"
]
}
试试这个:
SELECT medias,likes,description,createdon,title,postid,type,catagory,out('createdby').Name as Authors ,DISTINCT(nominator) as nominator, DISTINCT(school) as school from (SELECT medias,likes,description,createdon,title,postid,type,catagory,out('createdby').Name as Authors ,out('createdby').Nominator.Name as nominator, out('createdby').Nominator.school.Name as school from post where isDeleted=false order by createdon desc unwind nominator,school)
SELECT medias,likes,description,createdon,title,postid,type,catagory,out('createdby').Name as Authors ,out('createdby').Nominator.Name as nominator, out('createdby').Nominator.school.Name as school from post where isDeleted=false order by createdon desc
我必须从每个 post 中获取详细信息。 这是我的关系
[post]-创建者->[学生]
student table 有一个对象名称 Nominator,其中包含提名人的详细信息,table nominator 有一个名为 school 的字段,其中包含学校的详细信息
当我运行上面的命令时,我得到这样的输出
[
{
"@type": "d",
"@rid": "#-2:15",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/d5f1c692c0a01bd0d308b0cc3aa090cb.jpg",
"likes": 1,
"description": "This is art of rabbit ",
"createdon": "2017-10-23 22:00:27",
"title": "Rabbit",
"postid": "0hLU1",
"type": "photo",
"catagory": "Art",
"Authors": [
"SONISHA M"
],
"nominator": [
"karthikairani j"
],
"school": [
"Panchayat union middle school,keelamelkudi"
]
},
{
"@type": "d",
"@rid": "#-2:12",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/fd1fe7227d1e6d6bfd455dffddb41db9.jpg",
"likes": 1,
"description": "This post of multiple students work on global warming issues ",
"createdon": "2017-10-23 20:17:55",
"title": "Global warming ",
"postid": "BwOk7",
"type": "photo",
"catagory": "Art",
"Authors": [
"BALANIKUMAR M",
"YUVARAJ R",
"SOBIK RAJ C",
"KALIDASS R"
],
"nominator": [
"Arokia raj",
"Arokia raj",
"Arokia raj",
"Arokia raj"
],
"school": [
"Panchayat union middle school,keelamelkudi",
"Panchayat union middle school,keelamelkudi",
"Panchayat union middle school,keelamelkudi",
"Panchayat union middle school,keelamelkudi"
]
}
单个post可以由许多提名人
下的许多学生完成那么如何过滤它以仅显示在学校中出现过一次的单个提名人姓名
我怎样才能更改我的代码以获得像这样的输出有什么方法可以使它更有效率
[
{
"@type": "d",
"@rid": "#-2:15",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/d5f1c692c0a01bd0d308b0cc3aa090cb.jpg",
"likes": 1,
"description": "This is art of rabbit ",
"createdon": "2017-10-23 22:00:27",
"title": "Rabbit",
"postid": "0hLU1",
"type": "photo",
"catagory": "Art",
"Authors": [
"SONISHA M"
],
"nominator": [
"karthikairani j"
],
"school": [
"Panchayat union middle school,keelamelkudi"
]
},
{
"@type": "d",
"@rid": "#-2:12",
"@version": 0,
"medias": "/audience/fileupload/uploads/images/fd1fe7227d1e6d6bfd455dffddb41db9.jpg",
"likes": 1,
"description": "This post of multiple students work on global warming issues ",
"createdon": "2017-10-23 20:17:55",
"title": "Global warming ",
"postid": "BwOk7",
"type": "photo",
"catagory": "Art",
"Authors": [
"BALANIKUMAR M",
"YUVARAJ R",
"SOBIK RAJ C",
"KALIDASS R"
],
"nominator": [
"Arokia raj"
],
"school": [
"Panchayat union middle school,keelamelkudi"
]
}
试试这个:
SELECT medias,likes,description,createdon,title,postid,type,catagory,out('createdby').Name as Authors ,DISTINCT(nominator) as nominator, DISTINCT(school) as school from (SELECT medias,likes,description,createdon,title,postid,type,catagory,out('createdby').Name as Authors ,out('createdby').Nominator.Name as nominator, out('createdby').Nominator.school.Name as school from post where isDeleted=false order by createdon desc unwind nominator,school)