我有桌子观众: id(int),unixtime(int),country(int),city(int),audience(int)。
表的任命 - 保存不同城市和国家的一些抽象受众的统计数据。统计数据每天收集几次,不同时间针对不同的城市和国家。
在编写查询时需要帮助,该查询应显示每个越野和城市的受众
输出应包含
或:
提前感谢您的帮助。
答案 0 :(得分:0)
试试这个解决方案:
SELECT b.country,
b.city,
b.unixtime AS begin_unixtime,
b.audience AS begin_audience,
c.unixtime AS end_unixtime,
c.audience AS end_audience
FROM (
SELECT MIN(id) AS minid,
MAX(id) AS maxid
FROM audience
WHERE unixtime BETWEEN <start> AND <end>
GROUP BY country,
city
) a
JOIN audience b ON b.id = a.minid
JOIN audience c ON c.id = a.maxid
在此解决方案中,最小/最大unixtime和受众基于最小/最大id
(在指定日期之间插入的第一行和最后一行),假设它是唯一的自动递增int。
将<start>
和<end>
替换为您的日期范围。