首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PostgreSQL -最小最大条目数

PostgreSQL -最小最大条目数
EN

Stack Overflow用户
提问于 2017-03-24 14:37:27
回答 3查看 48关注 0票数 0

我有一个名为学生的视图,显示他们的姓名,学校,电话号码和开始的日期,它看起来如下所示

代码语言:javascript
运行
复制
select * from Students;

结果如下所示

代码语言:javascript
运行
复制
Name        |    School    |    Phone    |    Date_Started

Student A    Electrical Eng   0424477876      1/02/2008
Student B    Software Eng     0425432598      1/02/2008
Student C    Mathematics      0487639487      2/02/2012
Student D    Photovoltaic     0425588596      4/06/2012
Student G    Commerce         0425588692      6/08/2014

现在,我需要创建一个视图,该视图根据开始日期查找最先开始的学生和最后开始的学生,并应生成以下输出

代码语言:javascript
运行
复制
Started    |    Name    |    School    |    Date_Started
first        Student A   Electrical Eng     1/02/2008
first        Student B   Software Eng       1/02/2008
last         Student G   Commerce           6/08/2014      

因此,这需要一个新的视图来使用现有的视图来实现这一点。

我是postgreSQL的新手,曾经尝试过一些似乎不起作用的案例语句,谢谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2017-03-24 14:56:45

您可以使用窗口函数在一条语句中计算该值:

代码语言:javascript
运行
复制
select *
from (
  SELECT case 
           when date_started = min(date_started) over () then 'first' 
           when date_started = max(date_started) over () then 'last'
         end as Started, 
         Name, School, Date_Started
  FROM Students 
) s 
where started in ('first', 'last')
order by date_started;
票数 2
EN

Stack Overflow用户

发布于 2017-03-24 14:50:12

您可以使用UNION来组合来自两个查询的结果。

代码语言:javascript
运行
复制
SELECT 'first' Started, Name, School, Date_Started
FROM Students WHERE Date_Started = (SELECT MIN(Date_Started) FROM Students)
UNION
SELECT 'last' Started, Name, School, Date_Started
FROM Students WHERE Date_Started = (SELECT MAX(Date_Started) FROM Students)
票数 0
EN

Stack Overflow用户

发布于 2017-03-24 14:59:48

嗨,你可以试试这个ans

代码语言:javascript
运行
复制
select 'First' as 'Started',* from student where Date_Started =(select min(Date_Started) from student)
union
select 'Last' as 'Started',* from student where Date_Started =(select max(Date_Started) from student)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42992967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档