|
...
|
...
|
@@ -49,21 +49,37 @@ |
|
|
|
|
|
|
|
<select id="getMonthlyCount" resultType="java.util.Map">
|
|
|
|
SELECT
|
|
|
|
DATE_FORMAT(create_time, '%Y-%m') AS month,
|
|
|
|
DATE_FORMAT(date_range.month, '%Y-%m') AS month,
|
|
|
|
IFNULL(log_counts.count, 0) AS count
|
|
|
|
FROM (
|
|
|
|
SELECT DATE_SUB(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL n MONTH) AS month
|
|
|
|
FROM (
|
|
|
|
SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3
|
|
|
|
UNION SELECT 4 UNION SELECT 5 UNION SELECT 6
|
|
|
|
UNION SELECT 7 UNION SELECT 8 UNION SELECT 9
|
|
|
|
UNION SELECT 10 UNION SELECT 11
|
|
|
|
) months
|
|
|
|
) date_range
|
|
|
|
LEFT JOIN (
|
|
|
|
SELECT
|
|
|
|
DATE_FORMAT(create_time, '%Y-%m-01') AS month,
|
|
|
|
COUNT(*) AS count
|
|
|
|
FROM airag_log
|
|
|
|
WHERE create_time >= DATE_SUB(CURDATE(), INTERVAL 12 MONTH)
|
|
|
|
GROUP BY DATE_FORMAT(create_time, '%Y-%m')
|
|
|
|
ORDER BY month ASC
|
|
|
|
WHERE create_time >= DATE_SUB(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 12 MONTH)
|
|
|
|
GROUP BY DATE_FORMAT(create_time, '%Y-%m-01')
|
|
|
|
) log_counts ON date_range.month = log_counts.month
|
|
|
|
WHERE date_range.month >= DATE_SUB(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 12 MONTH)
|
|
|
|
ORDER BY date_range.month ASC
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="getButtonRankList" resultType="java.util.Map">
|
|
|
|
SELECT
|
|
|
|
question, COUNT(*) as count
|
|
|
|
FROM airag_log
|
|
|
|
WHERE code IS NOT NULL AND code != ''
|
|
|
|
GROUP BY question
|
|
|
|
ORDER BY count DESC
|
|
|
|
b.button_name AS name,
|
|
|
|
COUNT(l.id) AS total
|
|
|
|
FROM airag_button b
|
|
|
|
LEFT JOIN airag_log l ON b.code = l.code
|
|
|
|
GROUP BY b.id, b.button_name
|
|
|
|
ORDER BY total DESC
|
|
|
|
LIMIT 7
|
|
|
|
</select>
|
|
|
|
</mapper> |
|
|
\ No newline at end of file |
...
|
...
|
|