Postgresql获取不同的记录

时间:2014-12-15 07:14:19

标签: sql postgresql

我想为每项服务提供单个随机rollno。意味着Group By应该应用于Service,但rollno可能是随机的,与服务相对应。

  ----------------------
  | rollno   | service   |
  ----------------------
  | 2134     |    2      |
  | 3127     |    2      |
  | 8426     |    1      |
  | 9387     |    1      |
  | 1456     |    1      |
  | 7754     |    3      |
  | 8941     |    3      |
  | 3870     |    3      |
  ------------------------

我希望结果如下

   ----------------------
  | rollno   | service   |
  ----------------------
  | 2134     |    2      |
  | 8426     |    1      |
  | 7754     |    3      |
  ------------------------

1 个答案:

答案 0 :(得分:0)

如果你不在乎返回了哪个 rollno,那么这是一个简单的查询组:

以下内容将为您提供每项服务的最低rollno。

select min(rollno) as rollno
       service
from the_table
group by service;

如果您想要最高的rollno(从您的示例中不清楚),那么只需使用max()而不是min()