如何显示MySQL数据库中的热门搜索词并按日期分组

时间:2016-07-01 19:47:23

标签: php mysql

我有一个看起来很像这样的MySQL数据库:


Term-----------LOB---------Date------
dde            JM Part A   2016-07-01
drug waste     JM Part A   2016-07-01
drug waste     JM Part A   2016-07-01
Duplicates     JM Part A   2016-07-01
credit balance JM Part B   2016-07-01
drug waste     JM Part B   2016-07-01

所以,我希望每个LOB的TOP 4(或n)'术语'(lob是一个类别) - 每月

所以在这个例子中它可能是

JM Part A July 2016
--dde            - 7
--drug waste     - 5
--credit balance - 3
--duplicates     - 1
JM Part B - July 2016
--dde            - 7
--discharge stats- 5
--credit balances- 3
--overpayment    - 1
唉,我有点失落。我到目前为止能做的最好的是

SELECT term, lob, COUNT(term) uid_count
FROM qs
GROUP BY lob
ORDER BY uid_count DESC
LIMIT 5

这似乎显示了所有lobs和所有日期范围的前5个搜索字词。

所以任何帮助都将不胜感激。我正在寻找在PHP页面上显示报告。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

如果不同Lob的数量很少,你可以使用union

 (select Term, count(*) 
 from my_tbale 
 where Lob = 'JM Part A'
 group by Term, `Date`
 order by count(*) desc limit 5)
 union  
 (select Term, count(*) 
 from my_tbale 
 where Lob = 'JM Part B'
 group by Term, `Date`
 order by count(*) desc limit 5)
相关问题