phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

MySQL заявка за получаване на модалните средни стойности на колона?

За да получите необработени бройки

select window_height, count(*) totalusers
from tbl
group by window_height
order by totalusers desc  # or by window_height

За да получите модалната средна стойност (това ще покаже множество стойности, ако има равенства за най-високия брой)

select window_height, totalusers
from (
    select @r := if(totalusers>@r,totalusers,@r) maxcount, window_height, totalusers
    from (select @r:=0) initvars, (
        select window_height, count(*) totalusers
        from tbl
        group by window_height
    ) X ) Y
where totalusers = @r

Това използва MySQL трик за използване на променлива за съхраняване на максималния брой, докато преминава през агрегираната подзаявка. Обобщение на операциите

  • O(n):сканирайте таблицата веднъж и съставете броя (T1)
  • O(n):сканирайте извлечената таблица T1 и запазете най-високия брой в променливата @r (T2)
  • O(n):сканирайте получената таблица T2 и филтрирайте само за височините с най-голям брой.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. MySQL Daemon не успя да стартира - centos 6

  2. Как да вляза в phpMyAdmin с WAMP, какво е потребителското име и паролата?

  3. Предупреждение:mysql_connect():Грешка при четене на поздравителен пакет

  4. Mysql заявката работи в phpmyadmin, но не и в php (поради дата)

  5. Грешка при импортиране на mysql база данни