当前位置: 首页 > 面试题库 >

GROUP BY-不分组为NULL

焦宁
2023-03-14
问题内容

我试图找出一种通过使用group by函数返回结果的方法

GROUP BY正在按预期工作,但是我的问题是:是否有可能让group
by忽略NULL字段。这样就不会将NULL分组在一起,因为我仍然需要指定字段为NULL的所有行。

SELECT `table1`.*, 
    GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1` 
WHERE (enabled = 1) 
GROUP BY `ancestor`

所以现在说我有5行,并且祖先字段为NULL,它返回我1行....但是我要全部5。


问题答案:

也许您应该在null列中添加一些内容,以使它们唯一并按此分组?我一直在寻找某种代替UUID()的序列,但是这可能同样有效。

SELECT `table1`.*, 
    IFNULL(ancestor,UUID()) as unq_ancestor
    GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1` 
WHERE (enabled = 1) 
GROUP BY unq_ancestor


 类似资料:
  • 根据给定的函数对数组元素进行分组。 使用 Array.map() 将数组的值映射到函数或属性名称。使用 Array.reduce() 来创建一个对象,其中的 key 是从映射结果中产生。 const groupBy = (arr, fn) => arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i

  • 主要内容:创建DataFrame对象,创建groupby分组对象,查看分组结果,遍历分组数据,应用聚合函数,组的转换操作,组的数据过滤操作在数据分析中,经常会遇到这样的情况:根据某一列(或多列)标签把数据划分为不同的组别,然后再对其进行数据分析。比如,某网站对注册用户的性别或者年龄等进行分组,从而研究出网站用户的画像(特点)。在 Pandas 中,要完成数据的分组操作,需要使用 groupby() 函数,它和 SQL 的 操作非常相似。  在划分出来的组(group)上应用一些统计函数,从而达到

  • 问题内容: pandas groupby的默认行为是将group by列转换为index并将其从数据框的列列表中删除。例如,说我有一个包含这些列的dataFrame 如果我申请一个GROUPBY发言权列和这样 数据框不再在列列表中。它们将自动转换为结果数据帧的索引。 我的问题是如何对列执行groupby并将该列保留在数据框中? 问题答案:

  • 本文向大家介绍JAVA8 STREAM COLLECT GROUPBY分组实例解析,包括了JAVA8 STREAM COLLECT GROUPBY分组实例解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了JAVA8 STREAM COLLECT GROUPBY分组实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 实体类Peop

  • 问题内容: __默认情况下,条件(x > 500)的 范围(1000) 显然是排序的。 我期待的数字0到999在一个被分组 的dict 由条件(X> 500)。但是结果字典只有999个 。其他数字在哪里?任何人都可以解释这里发生了什么吗? 问题答案: 从文档: 返回的组本身就是一个与共享底层可迭代对象的迭代器。因为源是共享的,所以当对象前进时,先前的组将不再可见。因此,如果以后需要该数据,则应将其

  • 问题内容: 我正在按县列出前三名的作物表。一些县以相同的顺序拥有相同的农作物品种。其他县具有相同的作物品种,但顺序不同。 我可以对Crop1,Crop2和Crop3进行分组,并获得total_pop的总和: 这给了我特定作物组合的总数: 不过,我想获得的是不同作物组合的总人口-无论列出的作物是crop1,crop2还是crop3。理想的结果是这样的: 感谢您的指导。 问题答案: 方法1: 合并列