PHP:将这两个SQL查询合并为一个

问题描述

我使用MariaDB并有一个表,其中每行都有一个日期和一个分数。

我想首先显示按日期排序的日期为3天或更晚的行,然后按日期显示其余(超过3天)的行。

由于我的日期存储在Unix时间中,因此很容易让PHP从现在起计算3天,并在下面将其用作我的$ scoreTimeLimit变量:

这是我的两个查询

SELECT * FROM myTable WHERE myDate > $scoreTimeLimit ORDER BY myPopularityscore DESC

SELECT * FROM myTable WHERE myDate < $scoreTimeLimit ORDER BY myDate DESC

但是,我非常希望只有1个查询而不是2个查询。能做到吗...?

解决方法

这是UNION的工作。

> Failed to upload: 10 due to Access Denied (Service: Amazon S3; Status
> Code: 403; Error Code: AccessDenied; Request ID: BK0N9Z2W7W2TBZFW)
> E/Transfer( 9648): onError:
> com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied
> (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied;
> Request ID: BK0N9Z2W7W2TBZFW),S3 Extended Request ID:
> 8Xz7aLME+pyeu1dNs8UOi6lx+j0VVRaFxsfaCqh9m0j7KTP7zmFjPNze3FoTj+2/1oOIha4deYE=

内部查询为您提供单个结果集,并添加了两个额外的列,以帮助您管理排序。