बदलें where errors >= 1
(cast(a.count as decimal) * 100 / b.count)>=1
चूँकि त्रुटि नामक कोई स्तंभ नहीं है, बल्कि एक व्युत्पन्न स्तंभ है:
select a.date, (cast(a.count as decimal) * 100 / b.count) as errors
from (select date(time) as date, count(status)
from log
where status != '200 OK'
group by date
order by date asc) as a
join (select date(time) as date, count(status)
from log
group by date
order by date asc) as b
on a.date = b.date
where (cast(a.count as decimal) * 100 / b.count) >= 1
order by errors desc;
या
इसे ऊपर की तरह नीचे की तरह इस्तेमाल किया जा सकता है:
select *
from (select a.date, (cast(a.count as decimal) * 100 / b.count) as errors
from (select date(time) as date, count(status)
from log
where status != '200 OK'
group by date
order by date asc) as a
join (select date(time) as date, count(status)
from log
group by date
order by date asc) as b
on a.date = b.date) q
where errors >= 1
order by errors desc;
एक सबक्वेरी के भीतर।