我怎樣才能讓這個答案通過<>
代替NOT IN
MYSQL <>運算符代替NOT IN
SELECT ward_no, COUNT(patient_id) AS occupying
FROM patient
WHERE ward_no NOT IN ('w5', 'w7')
GROUP BY ward_no
我怎樣才能讓這個答案通過<>
代替NOT IN
MYSQL <>運算符代替NOT IN
SELECT ward_no, COUNT(patient_id) AS occupying
FROM patient
WHERE ward_no NOT IN ('w5', 'w7')
GROUP BY ward_no
你可以這樣做:
SELECT ward_no, COUNT(patient_id) AS occupying
FROM patient
WHERE ward_no <> 'w5' AND ward_no <> 'w7'
GROUP BY ward_no
但它不是一個簡單的NOT方式較重IN,所以我不會那樣做。
使用此:從這裏
SELECT ward_no, COUNT(patient_id) AS occupying
FROM patient
WHERE ward_no <> 'w5' AND ward_no <> 'w7'
GROUP BY ward_no
愛人我讀過你的個人資料,我感興趣的是你的技能和幫助別人,請先生先生,當我需要問你的問題時,我怎麼總能和你談談我試圖進入你的網站與你聯繫 – Marwan
@Marwan你可以邀請我聊天,或者可以在我的網站留言或博客。 –
@Marwan你可以邀請我在這裏聊天:http://chat.stackoverflow.com/users/1035257/code-lver –
答:https://dev.mysql.com/doc/refman/5.5/en/all-subqueries.html
NOT IN是<別名> ALL。因此,這兩個語句是相同的:
SELECT s1 FROM t1 WHERE s1 <> ALL (SELECT s1 FROM t2);
SELECT s1 FROM t1 WHERE s1 NOT IN (SELECT s1 FROM t2);
BROO我通過這樣可以請你幫助我,如果你想解釋一下我的這個回答讓組的點有關於集團某misconcept:SELECT course_code, student_id數據,AVG(標記)AS avg_mark FROM分配 WHERE course_code NOT IN( 'C4', 'C7') AND assignment_number <> '3' GROUP BY course_code,student_id數據 HAVING AVG(標記)> 70 – Marwan
問題答案是:例如:除c4和c7外,每門課程都列出所有作業的平均分數(不包括分配3)超過70的學生。同時列出這些學生的平均分數。 SO爲什麼我們通過student-id和課程代碼放入組中不僅僅是其中的一個 – Marwan
經驗法則:當您使用聚合函數(avg,max等)時,您必須將所有GROUP BY您的SELECT中的非聚合列。例如:SELECT a,b,c,max(d),您必須按a,b和c分組。 –