在MySQL中,查詢多個字段相同的數據是一種常見的需求。我們可以使用GROUP BY和HAVING子句來實現這個操作。
首先,讓我們來看一個簡單的例子,假設我們有一個student表,其中包含了name和age兩個字段:
CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(255), age INT );
現在,我們想要查詢年齡在20歲以上的學生,且姓名相同的記錄。我們可以使用以下SQL語句:
SELECT name FROM student GROUP BY name HAVING COUNT(*) >1 AND MIN(age) >= 20;
以上SQL語句中,GROUP BY語句用于按照姓名分組,HAVING子句用于篩選出姓名相同且年齡都在20歲以上的學生。其中,COUNT(*) >1用于確保查詢結果中至少有兩個名字相同的學生記錄。
注意,以上SQL語句只能查詢姓名相同的學生記錄,如果存在姓名相同但年齡不同的學生記錄,則會被篩選掉。
如果我們需要同時比較多個字段是否相同,可以在GROUP BY語句中同時指定多個字段,例如以下SQL語句:
SELECT name, age FROM student GROUP BY name, age HAVING COUNT(*) >1;
以上SQL語句用于查詢姓名和年齡都相同的學生記錄。
上一篇css3旋 circle
下一篇css3新增了哪些選擇符