这是输入和输出的SQL版本:
with tab1 as (
select 1 as id from dual union all
select 1 as id from dual union all
select 2 as id from dual union all
select 2 as id from dual union all
select 5 as id from dual
)
select id from tab1 group by id having count(id)=1;
Output is Id=5 and count is 1
由于5是不可重复的,如何使用JAVA 8流实现它?
我在下面尝试过,但显然给出了错误的结果
List<Integer> myList = new ArrayList<Integer>();
myList.add(1);
myList.add(1);
myList.add(2);
myList.add(2);
myList.add(5);
Long f = myList.stream()
.distinct().count();
System.out.println(f);
long result = myList.stream()
.collect(Collectors.groupingBy(
Function.identity(),
Collectors.counting()))
.entrySet()
.stream()
.filter(entry -> entry.getValue() == 1)
.map(Entry::getKey)
.count();
好吧,您将所有元素收集到Map<Integer, Long>
,其中键是值本身,值是重复次数。后来我们流从产生的地图的条目集和filter
只有那些项目,对具有计数1
(这意味着他们不重复),以后我们map
要Entry::getKey
-让从列表中值和计数。
基本上,对于每个user_id,我需要类似的东西, 我想最终的结果只是返回所有的总数。
我有一个熊猫数据框,其中包含如下所示的数据: 所以ID可以在特定月份的任何类下,下个月他的类可能会改变。现在我想做的是,为每个ID获取它在特定类别下的月数,以及它属于的最新类别。像下面这样: 如何在python中实现这一点。有人能帮我吗?另外,由于真实的数据集是巨大的,并且无法手动验证,我如何才能获得属于多个类的ID列表?
我得到了这个错误,我知道这个问题已经在这里解决过了,因为人们没有在函数中添加返回->。我不明白为什么这仍然给我带来错误。
问题内容: 我正在编写一个非常简单的查询,但是由于某种原因,我得到了重复的值。 在返回重复值。即: 但是,直接在mysql中运行此查询 不返回重复值。 谁能发现哪里出了问题? 问题答案: 快速的解决方法是使用“不同的根实体结果转换器”。 但这只是一个工作环境。 我怀疑问题属于您的映射。如果从ProcessInstance到其他对象之间急切地加载了1:n关系(称为X),并且一个ProcessInst
问题内容: 我有一张有两列的table。 我希望列“ num”显示每个重复项的增量计数器: 除了mySQL查询,是否可以在没有任何其他脚本的情况下完成此操作? 问题答案: 不幸的是,MySQL没有您需要的窗口功能。因此,您将必须使用以下内容: 最终查询 参见带有演示的SQL Fiddle 解释: 首先,内部选择,这会将模拟应用于表中的所有记录(请参阅带有演示的SQL Fiddle ): 查询的第二
问题内容: 例如,假设我有一个可能包含以下值: 现在我想要检索的数量和,我想能够区分什么我有,要么还是因为在现实中,我可以在ArrayList中的任何对象,我必须能够区分它们。 我当时想做的是先将转换为,以保持顺序并删除重复项,这样我就可以了,但是我如何获取每个的数量并将其与适当的元素相关联? 总的来说,我想做的是能够编写一个方法让我输出: 但是不知道和是元素,因为它们可能是其他类似或的东西。 问