MySQL 是一個開源的關系型數據庫管理系統,使用廣泛,提供了很多方便易用的功能,其中包括去重和獲取最新數據。
去重是在查詢中經常使用的操作,可以使用 SELECT DISTINCT 或 GROUP BY 語句來實現。例如:
SELECT DISTINCT name FROM users;
SELECT MAX(created_at), name FROM messages GROUP BY name;
其中第一條語句將返回 users 表中不重復的 name 列的值,而第二條語句將返回 messages 表中每個 name 列的最新 created_at 值。
獲取最新數據也是常見的需求,可以通過 ORDER BY 和 LIMIT 語句來實現。例如:
SELECT * FROM messages ORDER BY created_at DESC LIMIT 10;
SELECT * FROM messages WHERE name = 'Alice' ORDER BY created_at DESC LIMIT 1;
其中第一條語句將返回 messages 表中最新的 10 條數據,第二條語句將返回 name 為 'Alice' 的最新一條數據。
同時,結合使用去重和獲取最新數據,可以得到不同 name 列的最新一條數據的查詢:
SELECT DISTINCT name, text, created_at FROM messages
WHERE (name, created_at) IN
(
SELECT name, MAX(created_at) FROM messages GROUP BY name
)
ORDER BY created_at DESC;
該語句將返回每個 name 列的最新一條數據,包括 name、text 和 created_at 列。
上一篇c 類轉換json
下一篇mysql去重復 排序