当我想选择作者和阅读的书籍数量时。我会用下面的语句在SQLite中选择具有最大未读书籍百分比的作者
select authorid, count(authorid)
from books
where read = 1
group by authorid
当我要选择的未读的书籍数量对于一个给定的作者,我会在上面的语句更改1
到0
。
我想选择每个authorid
比率unread/all
,并从所有这些比例中选择authorid
与max(unread/all)
。
我可以创建这样一个语句吗?最大比率是1
。如果有更多的authorid
s,最大比例(例如ratio = 1),你可以将它们全部返回,随机选择或限制为1(这并不重要)。
第一个陈述很好。我不知道这个有条件的计数。但第二个陈述不会只选择最大比率。 – xralf 2012-02-24 10:55:57
该解决方案是正确的。我使用'按比例排序'的第二个'select'语句的语法。 – xralf 2012-02-24 11:33:55
但是在分割表达式中需要使用'cast(count(authorid)as float)'。 – xralf 2012-02-24 12:01:22