當我想選擇作者和閱讀的書籍數量時。我會用下面的語句在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