我有一个具有名称和分数的对象。我想按名称对元素进行排序,并找到该名称的最高分。
例如,下面是对象(name,score):
(a, 3)
(a, 9)
(b, 7)
(b, 10)
(c, 8)
(c, 3)
Run Code Online (Sandbox Code Playgroud)
输出应为:
(a, 9)
(b, 10)
(c, 8)
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码进行排序,但无法找到最大
List<Record> result = list.stream()
.sorted(Comparator.comparing(Record::score))
.collect(Collectors.groupingBy(Record::name, LinkedHashMap::new, Collectors.toList()))
.values().stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud) 我有 2 个表(比如Student
和College
)和第三个表(StudentCollege
),其中有student_id
和college_id
外键。
我想给出以下查询的输出:
list = (
db.session.query(StudentCollegeModel.College_id)
.filter(StudentCollegeModel.student_id== student_id)
.all()
)
Run Code Online (Sandbox Code Playgroud)
以下查询:
(
db.session.query(CollegeModel)
.filter(CollegeModel.College_id.in_(list))
.all()
)
Run Code Online (Sandbox Code Playgroud)
但它给出了编程错误。
我有一个包含以下字段的表:
t:([]id:til 5; field:("abc_xy_ef";"abc_ef";"abc_de";"abc_xy_uv";"abc_ef_ghi"))
id field
---------------
0 "abc_xy_ef"
1 "abc_ef"
2 "abc_de"
3 "abc_xy_uv"
4 "abc_ef_ghi"
Run Code Online (Sandbox Code Playgroud)
我只想选择字段遵循模式的行,"abc_[anything]_ef[anything]"
以使结果表为:
id field
---------------
0 "abc_xy_ef"
1 "abc_ef"
4 "abc_ef_ghi"
Run Code Online (Sandbox Code Playgroud)