zastąp where errors >= 1
z (cast(a.count as decimal) * 100 / b.count)>=1
ponieważ nie ma kolumny o nazwie błędy, ale kolumna pochodna :
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;
LUB
Może być używany jak powyżej jak poniżej:
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;
w podzapytaniu.