Jump to content
php.lv forumi

Search the Community

Showing results for tags 'pivot'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • PHP
    • Interesanti palasīties
    • Iesācējiem
    • Vispārēji
    • Gatavi skripti
    • Freimworki, CMS
    • Datubāzes
  • Infrastruktūra, serveri, serveru programmatūra
    • Instalācija un konfigurācija
    • Hostinga piedāvājumi
    • Hostinga novērtējumi un atsauksmes
  • Pārlūkprogrammas daļa
    • HTML, XHTML
    • CSS
    • Javascript
    • Citas pārlūku vides un pārlūku valodas
    • Pārlūkprogrammas
  • Citas lietas
    • Darbs
    • Drošība
    • Manas lapu/darba novērtēšana
    • Saites uz noderīgiem resursiem
    • eKomercija un ePakalpojumi
  • php.lv
    • Netēma
    • Atsauksmes, ierosinājumi, lamu vārdi
    • Draza
  • Arhīvs
    • PHP
    • (X)HTML, CSS
    • php.lv

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 1 result

  1. Labvakar, izdomāju uzrakstīt, varbūt pametīsiet kādu ideju. Doma tāda. Mysql tabula, kurā krīt iekšā statistikas dati. Value, filter kolonnas šajā gadījumā nav vajadzīgas, jo tiks izmantotas citur. Tabulas struktūra un testa dati. Reālajā vidē tie būs daudz, daudz vairāk un sāksies problēmas ar summēšanu, tāpēc arī ir šis topiks. SQL zemāk spoiler tagos: Selects no testa tabulas. SELECT person_id, coalesce(sum(case when stats_id = 1 then skaits end), 0) as s1, coalesce(sum(case when stats_id = 2 then skaits end), 0) as s2, coalesce(sum(case when stats_id = 3 then skaits end), 0) as s3, coalesce(sum(case when stats_id = 4 then skaits end), 0) as s4 FROM ( SELECT person_id, stats_id, COUNT(*) as skaits FROM testa_tabula GROUP BY person_id, stats_id ORDER BY skaits DESC ) AS X GROUP BY person_id Rezultāts vizuāli: Meklēts tiek stats_id skaits sagrupēts pēc personas id. Ar iespēju pēc tam sortēt pēc katras s1, s2, s3, s4... kolonnas, vienlaicīgi redzot pārējos datus. Stats_id ar laiku palielināsies, bet ne bezgalīgi. Kverija explain: Uz puslīdz reāliem datiem, 90% kverija aizņem copying to tmp table, jo jāsasummē ir diezgan daudz, salīdzinot ar iegūstamo rezultātu. Ieteikumi? Šo te kveriju ir iespējams uzlabot? Vai taisīt kaut kādu starptabulu ar jau sasummētiem datiem? Joks tāds, ka esošo rezultātu kādreiz būs nepieciešams vēl arī filtrēt pēc citām kolonnām - filter1, filter2. Tāpēc vienīgais variants ir sasummēt grupējot pēc person_id, stats_id, filter1, filter2, kā rezultātā ierakstu skaits nemaz tik ļoti nesamazināsies. //update: Ar starptabulu sanāk daudz maz normāli, ja ignorē filter1 un filter2. explain rezultāts: type=index, rows=81, extra=using where
×
×
  • Create New...