2017-07-19 2 views
0

SQLクエリを使用して、私はどのレコードのID、名前、給与を抽出しようとしていますか?給与の20%を超える年金を計画している。spark sql: - 計画年金が給与の20%を超える人々のID、名前、給与を確認します。

は、ここに私のSQLクエリです:

sqlContext.sql("""select Id,Name,Salary from work where Pension >= Salary/20*100 order by Id asc""").show() 

そして、ここに私のSQLクエリがアクセスしているテーブルです。

[ 
    Row(Id=1, Name=u'Anu', Mail=u'[email protected]', Age=23, Salary=15000, Pension=5000), 
    Row(Id=6, Name=u'Teja', Mail=u'[email protected]', Age=38, Salary=20000, Pension=2000), 
    Row(Id=9, Name=u'Arun', Mail=u'[email protected]', Age=27, Salary=50000, Pension=3000), 
    Row(Id=5, Name=u'Ramu', Mail=u'[email protected]', Age=35, Salary=40000, Pension=3000), 
    Row(Id=3, Name=u'Geetha', Mail=u'[email protected]', Age=31, Salary=24000, Pension=4000), 
    Row(Id=2, Name=u'Archana', Mail=u'[email protected]', Age=30, Salary=20000, Pension=2000), 
    Row(Id=10, Name=u'Reka', Mail=u'[email protected]', Age=30, Salary=20000, Pension=4000), 
    Row(Id=4, Name=u'Ramesh', Mail=u'[email protected]', Age=32, Salary=30000, Pension=3000), 
    Row(Id=8, Name=u'Ezhil', Mail=u'[email protected]', Age=28, Salary=40000, Pension=4000), 
    Row(Id=7, Name=u'Murali', Mail=u'[email protected]', Age=39, Salary=20000, Pension=1000) 
] 
+0

詳細情報を入力してください。 –

答えて

0

は、あなただけの式を変更する必要があります。 20%はその数字の5で割ることを意味します。 あなたの質問は次のように見えるかもしれません。

SELECT id, name, salary FROM `work` WHERE pension >= (salary/5) order by Id ASC 
+0

ありがとうございます。私は答えを得た。 – NandaKrishnan

関連する問題