帮我写一个postgresql,规则是:user表中姓名是张三或者是李四的,根据create_time倒序,每一种名字只取一条
时间: 2024-02-06 14:10:15 浏览: 135
PostgreSQL教程(一):数据表详解
可以使用以下的 SQL 语句来实现你的需求:
```
SELECT DISTINCT ON (name) *
FROM user
WHERE name IN ('张三', '李四')
ORDER BY name, create_time DESC;
```
解释一下这个 SQL 语句:
- `SELECT DISTINCT ON (name) *`: 这个语句会根据 `name` 字段去重,确保每个不同的名字只出现一次。
- `FROM user`: 这个语句指定了要从 `user` 表中查询数据。
- `WHERE name IN ('张三', '李四')`: 这个语句限制了只查询名字为张三或者李四的用户。
- `ORDER BY name, create_time DESC`: 这个语句按照名字和创建时间降序排列,确保每个名字只取一条且是最新的。
希望这个 SQL 语句能够帮助到你!
阅读全文