在MySQL中,要查詢字段值相同的數(shù)據(jù),可以使用GROUP BY
和HAVING
子句。以下是一個示例查詢,假設(shè)我們有一個名為students
的表,其中包含id
,name
和class
字段,我們想要找到具有相同班級(class)的所有學(xué)生。
SELECT class, COUNT(*) as num_students
FROM students
GROUP BY class
HAVING num_students > 1;
這個查詢首先使用GROUP BY
子句按class
字段對數(shù)據(jù)進(jìn)行分組。然后,它使用HAVING
子句篩選出具有多個學(xué)生(即num_students > 1
)的班級。結(jié)果將顯示具有相同班級的學(xué)生數(shù)量。
如果你想獲取具有相同字段值的具體數(shù)據(jù),可以使用子查詢。例如,以下查詢將返回具有相同class
值的所有學(xué)生的詳細(xì)信息:
SELECT *
FROM students
WHERE class IN (
SELECT class
FROM students
GROUP BY class
HAVING COUNT(*) > 1
);
這個查詢首先在子查詢中找到具有相同班級的學(xué)生數(shù)量大于1的班級,然后在外部查詢中選擇這些班級的學(xué)生詳細(xì)信息。