我有一個包含解析的Apache日誌行的SQLite數據庫。從結果集中的組中獲取具有最高SELECT COUNT的行
數據庫的唯一表(訪問)的簡化版本是這樣的:
|referrer|datestamp|
+--------+---------+
|xy.de | 20170414|
|ab.at | 20170414|
|xy.de | 20170414|
|xy.de | 20170414|
|12.com | 20170413|
|12.com | 20170413|
|xy.de | 20170413|
|12.com | 20170413|
|12.com | 20170412|
|xy.de | 20170412|
|12.com | 20170412|
|12.com | 20170412|
|ab.at | 20170412|
|ab.at | 20170412|
|12.com | 20170412|
+--------+---------+
我試圖通過執行子查詢的引薦做了SELECT COUNT
檢索每一天的熱門引薦。後來我選擇從子查詢中具有最高計數的條目:只要我完成了一個日期查詢
SELECT datestamp, referrer, COUNT(*)
FROM accesses WHERE datestamp BETWEEN '20170414' AND '20170414'
GROUP BY referrer
HAVING COUNT(*) = (select MAX(anz)
FROM (SELECT COUNT(*) anz
FROM accesses
WHERE datestamp BETWEEN '20170414' AND '20170414'
GROUP BY referrer
)
);
上述方法有效,但只要我查詢的日期範圍分崩離析。 如何通過日期實現分組?我也只對最高的推薦人感興趣。
你想按日期範圍而不是單一日期進行分組? –
是的 - 理想情況下,我的輸出將是包含每個日期的引薦來源和計數的行。 –