我试图获取属于某个表的集合中最频繁的项目。例如,如果我有Table' Library'和表' Book'和'图书馆'有一本书的集合,我想从所有图书馆中检索所有图书。从这个结果来看,我想要最常用的书。问题是我需要这是一个查询,如果可能的话。如果我只获得所有书籍的清单,但按事件排序,也可以。
SELECT b FROM Library l, l.books b ORDER BY b.name
server '***.***.***.***', user: 'rails', roles: %w{web app}
第二个遗憾的是并没有按所有书籍排序,它会自行对每个系列进行排序。
如果需要更多信息,我当然可以提供。
我希望有人可以帮助我:(
答案 0 :(得分:0)
您的第一个查询非常接近。 ANSI标准版本的查询是:
SELECT l.books, COUNT(l.books) AS occur
FROM Library l
ORDER BY occur DESC
FETCH FIRST 1 ROW ONLY;
有些数据库使用TOP
或LIMIT
来获取一行。