2016-06-28 57 views
0

數據庫中的數據是 http://www.w3resource.com/mysql-exercises/aggregate-function-exercises/write-a-query-to-get-the-average-salary-for-each-job-id-excluding-programmer.php爲什麼不能在SQL查詢中排除'IT_PROG'?

結果:

sqlite> SELECT job_id, AVG(salary) 
    ...> FROM employees 
    ...> WHERE job_id <> 'IT_PROG' 
    ...> GROUP BY job_id; 
JOB_ID  AVG(salary) 
------------ ----------- 
AC_ACCOUNT 8300.0 
AC_MGR  12000.0 
AD_ASST  4400.0 
AD_PRES  24000.0 
AD_VP  17000.0 
FI_ACCOUNT 7920.0 
FI_MGR  12000.0 
HR_REP  6500.0 
**IT_PROG  5760.0** 
MK_MAN  13000.0 
MK_REP  6000.0 
PR_REP  10000.0 
PU_CLERK  2780.0 
PU_MAN  11000.0 
SA_MAN  12200.0 
SA_REP  8350.0 
SH_CLERK  3215.0 
ST_CLERK  2785.0 
ST_MAN  7280.0 
sqlite> 

上述結果還包括IT_PROG,爲什麼呢?

+0

我認爲它的作品完美。 – Sankar

+0

它似乎工作基於您提供的鏈接。確保數據中沒有空白。 – Bugs

回答

1

它看起來是一個正確的查詢。您應該查看「字符串」類型的數據庫設置。 試着應用修剪功能,刪除空白處:

SELECT job_id, AVG(salary) FROM employees WHERE TRIM(job_id) <> 'IT_PROG' GROUP BY job_id; 
+0

感謝您的建議,剛纔我發現裏面確實有空白。 –

相關問題