在MySQL中,如果你想要去除重復的數據,可以使用DISTINCT
關鍵字。但是,如果你想要根據特定條件去除重復數據,可以在SELECT
語句中使用子查詢和WHERE
子句來實現。
假設你有一個名為students
的表,其中包含以下列:id
、name
、age
和class
。你想要去除name
和age
相同的重復數據,但保留每個學生的唯一id
。你可以使用以下查詢:
SELECT DISTINCT id, name, age
FROM students
WHERE (name, age) IN (
SELECT name, age
FROM students
GROUP BY name, age
);
在這個查詢中,我們首先使用子查詢根據name
和age
對students
表進行分組。然后,在主查詢中,我們使用WHERE
子句和IN
操作符來過濾掉重復的name
和age
組合。這樣,我們就可以得到一個不包含重復name
和age
的結果集,同時保留了每個學生的唯一id
。