作者:蔡佩琬62777 | 来源:互联网 | 2022-10-10 01:15
我在MySql中有一个表,如:
URL Browser
A Chrome
B Chrome
C Firefox
A Chrome
A Firefox
A Opera
A Chrome
B Chrome
B Firefox
C Tor
该URL
列具有广泛的数据,但“浏览器”列具有有限的一组。我想汇总在URL列上,并按降序获得列表中每个浏览器的最高计数,例如:
URL FrequentlyUsedBrowser
A [(Chrome,3),(Firefox,1),(Opera,1)]
B [(Chrome,2),(Firefox,1)]
C [(Chrome,1),(Tor,1)]
我一直在写SQL
它,以便使用窗口分区将计数作为每个浏览器的一个条目,但无法将其添加到列表中。
1> ϻᴇᴛᴀʟ..:
这是您的查询。这是可以实现的group_concat()
select url
, concat('[', group_concat('(', browser, ',', ct, ')'), ']') as FrequentlyUsedBrowser
from
(select count(1) ct, url, browser from test
group by url, browser) t1
group by url
参见dbfiddle