【发布时间】:2019-12-13 05:36:37
【问题描述】:
广告表
+----+----------+-------------------+
| id | username | web_address |
+----+----------+-------------------+
| 1 | admin | my-best-positions |
| 2 | admin | after_after |
| 3 | admin | after |
| 4 | admin | effort |
+----+----------+-------------------+
活动日志表
+----+----------+-------------------+------------+
| id | username | web_address | timeperiod |
+----+----------+-------------------+------------+
| 5 | admin | my-best-positions | 1565021746 |
| 4 | admin | my-best-positions | 1564935346 |
| 3 | admin | after_after | 1564935346 |
| 2 | admin | after | 1564935346 |
| 1 | admin | effort | 1564935346 |
+----+----------+-------------------+------------+
上表中的时间段如下:
1565021746 = 格林威治标准时间:2019 年 8 月 5 日星期一下午 4:15:46
1564935346 = 格林威治标准时间:2019 年 8 月 4 日星期日下午 4:15:46
小提琴在哪里?
https://www.db-fiddle.com/f/BJJjFHbB1dY7EU1p3auRj/2
代码在哪里?
SELECT *
FROM advertisements
WHERE IF(EXISTS (SELECT 1
FROM activitylogs
WHERE web_address = advertisements.web_address
AND Timestampdiff(day, From_unixtime(timeperiod),
From_unixtime(Unix_timestamp()))
>= 1
AND Date(From_unixtime(timeperiod)) <> CURRENT_DATE()
ORDER BY timeperiod DESC)
OR NOT EXISTS (SELECT 1
FROM activitylogs
WHERE web_address = advertisements.web_address),
web_address <> '',
NULL)
电流输出是多少?
+----+----------+-------------------+
| id | username | web_address |
+----+----------+-------------------+
| 1 | admin | my-best-positions |
| 2 | admin | after_after |
| 3 | admin | after |
| 4 | admin | effort |
+----+----------+-------------------+
预期的输出是什么?
输出不应包含那些具有当前日期时间段的行,而仅包含那些时间段比当前时间戳小 1 天的行。例如,my-best-positions 被返回,即使它的时间段是今天。
请帮忙,因为它对我来说是一场噩梦。
【问题讨论】:
-
“今天”是“8 月 5 日”?
-
@Strawberry 根据 UTC 是的。使用这个epochconverter.com