Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Wangarad 23. 06. 2022, 09:43:52

Název: Efektivní zobrazení dat v databázi pomocí PHP
Přispěvatel: Wangarad 23. 06. 2022, 09:43:52
Zdravim.

Ak mam v tabulke len jeden stlpec a obsahuje data A,B,C,A,A,B,C ako ich efektivne spocitat ked neviem hodnotu A,B,C ?
Název: Re:Efektivní zobrazení dat v databázi pomocí PHP
Přispěvatel: yossy 23. 06. 2022, 10:21:42
ak som to spravne pochopil, tak v bunke tabulky je zoznam hodnot oddelenych oddelovacom. potom staci vytiahnut hodnotu z tabulky, prehnat ju v PHP funkciou explode a vysledkom je pole samostanych hodnot. nasledne je s nimi mozne robit dalsie operacie

dalsia moznost je si to splitnut na urovni sql dotazu. ak je to MySQL tak potom sa pozriet na funkciu SUBSTRING_INDEX()
Název: Re:Efektivní zobrazení dat v databázi pomocí PHP
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 23. 06. 2022, 10:25:27
co znamená "spocitat" a jaky je format tech A B C (variabilni delka, pritomnost znaku ","), jsou oddelene znakem ","?
A co z toho chces pocitat, ked ich nevis (neni tam nic ineho :D,E,F)
Název: Re:Efektivní zobrazení dat v databázi pomocí PHP
Přispěvatel: Death Walker 24. 06. 2022, 03:47:26
Za predpokladu ze to mas ulozene 1 hodnota na 1 zaznam, tak proste:
Kód: [Vybrat]
SELECT stlpec, count(stlpec) FROM tabulka GROUP BY stlpec;

za predpokladu ze stlpec je varchar a su v nom CSV zaznamy, tak miesto riesenia efektivity dotazu riesit efektivitu struktury, pretoze na tomto nebude efektivny ziadny dotaz.
Název: Re:Efektivní zobrazení dat v databázi pomocí PHP
Přispěvatel: 3ugeene 24. 06. 2022, 10:59:00
nevim, jestli to chapu spravne, ale nacist radek do PHP a tam:
Kód: [Vybrat]
count(explode(',', $sloupec))
Název: Re:Efektivní zobrazení dat v databázi pomocí PHP
Přispěvatel: Death Walker 24. 06. 2022, 13:45:16
Pripadne je mozne, ak ide o postgres:

Kód: [Vybrat]
WITH
hodnoty AS (
    SELECT string_to_table(csv,',') AS hodnota
    FROM tabulka
)
SELECT hodnota, count(hodnota)
FROM hodnoty
GROUP BY hodnota

To je v prostredi ktore je optimalizovane na spracovanie dat. Riesit to v textovom preprocesori je najmenej efektivna cesta (aby nedoslo k omylu tak php pouzijem pomerne casto, ak mu zodpoveda usecase...)