sql - 在 SQL 中创建聚合列,其值取决于前一行 - MySQL 5
问题描述
我想就以下查询获得一些帮助:我有以下使用 python pandas 创建的数据框:
data = pd.DataFrame({'user_id':[1,1,1,2,2],'event':[1,0,1,1,0]})
输出是:
user_id event
1 1
1 0
1 1
2 1
2 0
现在,我通过以下方式创建了第三列:对于每个 user_id group,如果 event 的先前值为 0,则写入 1,否则写入 0:
g = data.groupby('user_id')
data['third_column']=g['event_id'].transform(lambda x: np.where((x.shift(1)==0),1,0))
我得到
user_id event third_column
1 1 0
1 0 0
1 1 1
2 1 0
2 0 0
如何在 MySQL 5 中重现相同的输出?
谢谢你的帮助
解决方案
推荐阅读
- reactjs - 如何将样式化组件与动态导入一起使用
- angular - 如何在 Angular 中实现 facebook 像素?
- prolog - 在列表中的 1 和 0 之间切换
- c# - 错误:无法从 .NET Framework 控制台应用程序使用的 .NET 标准库加载文件或程序集“Microsoft.Win32Registry”
- active-directory - Samba AD 是否支持基于资源的约束委派?
- d3.js - 我如何使这个旭日形开始与内环消耗图表的整个直径?
- r - 如何通过将人口普查数据创建为散点图、地图、时间序列的图表来制作一个闪亮的 R 应用程序?
- html - 具有动态页面大小的第二个打印页眉
- angular - ionic prod build 在运行时引发 Injector Error
- javascript - 加载错误 wc_print_notices 以更正 woocommerce 登录或注册表单