用 pymysql 怎么实现取出列为特定值的最后连续行?

2021-02-15 01:33:28 +08:00
 yellowtail
比如表[-20:-10]行 a 列的值是 1,[-9:-5]行 a 列值为 2,[-4:]行 a 列值为 1,每列特定值的行数都是不规则的,求教如何仅取出 a 列值为 1 的最后 5 行?
因为涉及的数据可能比较多所以决定学着用 sql 而不是本地的 dataframe,但是网上看了一圈没有发现 sql 有类似 df.loc[df.a==df.a+1]的操作,求大佬搭救
909 次点击
所在节点    Python
4 条回复
hannibalm
2021-02-15 10:18:40 +08:00
数据库是集合概念,不加 order by 情况下,不保证每次取 a = 1 返回的行顺序相同
dorothyREN
2021-02-15 14:13:20 +08:00
@hannibalm #1 加了 orderby 也不能保证吧。相同值的顺序
hannibalm
2021-02-15 19:17:42 +08:00
@dorothyREN 对哦。所以题主这个需求场景很奇怪,感觉可以从业务需求层面再考虑一下技术需求。
yellowtail
2021-02-15 19:58:05 +08:00
@hannibalm 感谢回复,已经重新用 dataframe 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/753344

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX