如何选择和统计同一查询中同一列中的3个元素并将它们显示在三列中?

时间:2017-03-30 02:40:32

标签: python-2.7 pyspark tweepy pyspark-sql

如何编写一个查询而不是这三个? 谢谢你的回答!

    sqlCtx.sql("""Select count(*) as iPhone
    from yahoo
    where source like '%iphone%'
    """).show()

    sqlCtx.sql("""Select count(*) as Android
    from yahoo
    where source like '%android%'
    """).show()

    sqlCtx.sql("""Select count(*) as Web
    from yahoo
    where source like '%Web Client%'
    """).show()

1 个答案:

答案 0 :(得分:0)

你需要尝试相同的条件,如果存在则添加1,否则添加0,这是样本: -

sqlCtx.sql("""
       Select 
          sum(if source like '%iphone%', 1, 0) as Iphone,
          sum(if source like '%android%', 1, 0) as Android,
          sum(if source like '%Web Client%', 1, 0) as Web
       from yahoo
   """).show()