sql語句中where一定要放在group by 之前
sql語句中where一定要放在group by 之前
分組查詢出來的結果是根據第一個被查詢出來的資料結果作為結果的。
所以如果在查詢的時候需要加入條件,那麼就一定要在分組之前把條件加進去。
select litigant_name,count(1) as defendant_judgedoc_cnt from df1 where litigant_type = '被告' group by litigant_name
如果where寫在group by之後,會報如下錯誤:
[192.168.31.10] out: select litigant_name,count(1) as defendant_judgedoc_cnt from df1 group by litigant_name where litigant_type = '被告'""")
[192.168.31.10] out: File "/opt/local/spark-2.0.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/session.py", line 543, in sql
[192.168.31.10] out: File "/opt/local/spark-2.0.1-bin-hadoop2.7/python/lib/py4j-0.10.3-src.zip/py4j/java_gateway.py", line 1133, in __call__
[192.168.31.10] out: File "/opt/local/spark-2.0.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/utils.py", line 73, in deco
[192.168.31.10] out: pyspark.sql.utils.ParseException: u"\nmismatched input 'where' expecting {<EOF>, ',', '.', '[', 'GROUPING', 'ORDER', 'HAVING', 'LIMIT', 'OR', 'AND', 'IN', NOT, 'BETWEEN', 'LIKE', RLIKE, 'IS', 'WINDOW', 'WITH', 'UNION', 'EXCEPT', 'INTERSECT', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '^', 'SORT', 'CLUSTER', 'DISTRIBUTE'}(line 2, pos 100)\n\n== SQL ==\n\n select litigant_name,count(1) as defendant_judgedoc_cnt from df1 group by litigant_name where litigant_type = '\u88ab\u544a'\n----------------------------------------------------------------------------------------------------^^^\n"
相關文章
- Python 提取出SQL語句中Where的值的方法PythonSQL
- SQL語句中 left join 後用 on 還是 where,區別大SQL
- 關於在SQL語句中ON和WHERE中條件使用的差異SQL
- sql語句中as的用法SQL
- CharacterEncodingFilter一定要放在第一個EncodingFilter
- SQL中 where 子句和having子句中的區別SQL
- sql語句中JOIN ON 的使用SQL
- SQL優化] 避免在WHERE子句中對列使用函式SQL優化函式
- 子查詢包含where ..or在Corelated Subquery 中語句中問題
- sql語句中#{}和${}的區別SQL
- sql語句中as的用法和作用SQL
- sql語句中select……as的用法SQL
- SQL語句中exists和in的區別SQL
- SQL語句中not in 和not exist的區別SQL
- sql語句中as的意思是什麼SQL
- 在sql語句中替換Not In 的方法SQL
- sql語句中常量的處理SQL
- SQL 語句中關於 NULL 的那些坑SQLNull
- SQL語句中NULL的真實含義SQLNull
- 總結SQL語句中的優化提示SQL優化
- MyBatis在SQL語句中取list的大小MyBatisSQL
- SQL語句中SELECT語句的執行順序SQL
- 【SQL】Oracle SQL join on語句and和where使用區別SQLOracle
- SQL Server SQL語句中的函式呼叫與Oracle SQL語句函式呼叫一個有趣的差別SQLServer函式Oracle
- MyBatis的使用三(在sql語句中傳值)MyBatisSQL
- 【轉】LINQ to SQL語句(1)之WhereSQL
- where語句中多條件查詢欄位NULL與NOT NULL不確定性查詢Null
- MySQLDump在使用之前一定要想到的事情MySql
- MySQL在建立索引之前一定要想到的事情MySql索引
- SQL語句中的AND和OR執行順序問題SQL
- Oracle sql 語句中帶有特殊的字元處理OracleSQL字元
- 如何自動填充SQL語句中的公共欄位SQL
- Oracle SQL 語句中正規表示式的應用OracleSQL
- sql語句中較為重要的查詢邏輯SQL
- SQL語句中的單引號與雙引號SQL
- No_expand hint 解決CBO針對where...or..語句中的cardinality計算問題
- 將第一個 sql 語句中的結果作為第二個 sql 的引數值SQL
- SQL語句中聚合函式忽略NULL值的總結SQL函式Null