找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 145|回复: 3

[求助] 如图如何用一句SQL查询出小麦产量高于水稻产量的省份

22

主题

63

帖子

63

积分

新手

积分
63
银发的index 发表于 2019-11-3 01:35:29 | 显示全部楼层 |阅读模式
QQ截图20191103013108.png

表名为farm

回复

使用道具 举报

0

主题

536

帖子

536

积分

骑士

积分
536
sheeboard 发表于 2019-11-4 12:55:27 | 显示全部楼层
本帖最后由 sheeboard 于 2019-11-4 13:07 编辑

用pandas写的
数据库连接用的是sqlalchemy
sql的话我回去找一下

  1. df=pd.read_sql('select * from farm', db)
  2. df1=df[df['crops']!='mianhua']
  3. df2=df1.pivot(index='province',columns='crops',values='weight')
  4. df2[df2['xiaomai']>df2['shuidao']]
复制代码
回复 支持 反对

使用道具 举报

0

主题

536

帖子

536

积分

骑士

积分
536
sheeboard 发表于 2019-11-4 20:45:29 | 显示全部楼层
本帖最后由 sheeboard 于 2019-11-4 20:47 编辑

create table temptable select province,group_concat(if(crops='shuidao',weight,NULL)) as 'shuidao',group_concat(if(crops='xiaomai',weight,NULL)) as 'xiaomai' from farm group by province;
select * from temptable where cast(xiaomai as decimal(10,2))  > cast(shuidao as decimal(10,2));
用了两句,参考一下
Screenshot from 2019-11-04 20-42-07.png
回复 支持 反对

使用道具 举报

0

主题

15

帖子

15

积分

贫民

积分
15
wwhywhy 发表于 6 天前 | 显示全部楼层
select t1.province from table as t1, table as t2
where t1.crops = 'xiaomai' and t2.crops = 'shuidao' and t1.province = t2.province
and t1.weight > t2.weight
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表