SQL返回一个独立列和独立列的第一个日期

SQL返回一个独立列和独立列的第一个日期,sql,postgresql,aggregate-functions,greatest-n-per-group,Sql,Postgresql,Aggregate Functions,Greatest N Per Group,我有一个数据库,其中包含多个url,以及一个日期(created\u at)与每个url 我想要一些类似于: Select DISTINCT url, "the first date of this url" from database where blabala 我的问题是,如果将日期添加到选择中,我会得到以下结果: /url/sdfsd | 2014-07-19 /url/sdfsd | 2014-07-20 /url/sdfsd | 2014-07-25

我有一个数据库,其中包含多个
url
,以及一个日期(
created\u at
)与每个
url

我想要一些类似于:

Select DISTINCT url, "the first date of this url"
from database
where blabala
我的问题是,如果将日期添加到选择中,我会得到以下结果:

/url/sdfsd  |   2014-07-19  
/url/sdfsd  |   2014-07-20  
/url/sdfsd  |   2014-07-25  
我想要的只是:

/url/sdfsd  |   2014-07-19

我意识到我过分简化了我的问题,但多亏了你们,我终于找到了解决办法

select req2.date, COUNT(DATE(req2.date)) as count
from (
    select hash_request -> 'PATH_INFO', min(DATE(created_at)) as date
        from (
            select *
            from request_statistics
            where LOWER(hash_request -> 'HTTP_USER_AGENT') LIKE '%google%'
         ) req1
    group by hash_request -> 'PATH_INFO'
     )  req2
group by req2.date
order by req2.date asc

我很难在所有唯一的url上对日期进行分组。现在我有了,每天唯一url的数量是多少?所有唯一url的唯一url记录都排序了吗

select url, min(created_at)
from databaseTable
where blabala
group by url

记录分类了吗

select url, min(created_at)
from databaseTable
where blabala
group by url

如果您还需要其他字段,则上的
distinct on
语法可能就是您想要的:

Select DISTINCT ON (url) d.*
from database d
where blabala
order by url, created_at asc;

如果您还需要其他字段,则上的
distinct on
语法可能就是您想要的:

Select DISTINCT ON (url) d.*
from database d
where blabala
order by url, created_at asc;
能否使用“LIMIT”仅返回一行

SELECT url, created_at FROM table WHERE blablabla LIMIT 1
您还可以使用ORDER BY选择最早或最近的日期

以下是有关

的更多信息。是否可以使用“LIMIT”仅返回一行

SELECT url, created_at FROM table WHERE blablabla LIMIT 1
您还可以使用ORDER BY选择最早或最近的日期


以下是有关的更多信息
distinct
的问题是它返回一个distinct行。因此,当您有多条记录除了日期之外都是相同的时,它们都被视为不同的,因为日期不同(即,整个记录与任何其他记录都不相同)。因此,基本上您可以使用Gordon建议的
distinct on
方法或Conffusion建议的
min
方法。不过,我个人的偏好是在上有所不同。它更健壮。

distinct的问题是它返回一个不同的行。因此,当您有多条记录除了日期之外都是相同的时,它们都被视为不同的,因为日期不同(即,整个记录与任何其他记录都不相同)。因此,基本上您可以使用Gordon建议的
distinct on
方法或Conffusion建议的
min
方法。不过,我个人的偏好是在上有所不同。它更强大。

从阅读手册和中的基本知识开始。从阅读手册和中的基本知识开始。