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


期限----------- LOB ---------日期------
dde JM Part A 2016-07-01
毒品浪费JM A部分2016-07-01
毒品浪费JM A部分2016-07-01
重复JM Part A 2016-07-01
信贷余额JM B部分2016-07-01
毒品浪费JM Part B 2016-07-01


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

所以在这个例子中

JM A部分2016年7月
--dde-7
-毒品浪费-5
-贷方余额-3
-重复-1


JM B部分-2016年7月
--dde-7
-放电统计-5
-贷方余额-3
-多付-1


las,我有点迷茫。到目前为止,我能做的最好的事情是

SELECT条款,LOB,COUNT(条款)uid_count
从qs
lob分组
ORDER BY uid_count DESC
极限5


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

因此,任何帮助将不胜感激。我正在查看在PHP页面上显示报告。

感谢您的时间。

最佳答案

如果唯一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)

关于php - 如何显示MySQL数据库中的热门搜索词并按日期分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38152983/

10-09 16:02