MySQL multiple COUNT cu randuri cu aceeasi valoare
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
sterica
- Mesaje: 285
MySQL multiple COUNT cu randuri cu aceeasi valoare
Salutare,
Am urmatorul tabel sql:
Cod: Selectaţi tot
+-------+---------------+
| STARE | MENTIUNI |
+-------+---------------+
| 1 | men_1 |
| 1 | men_1 |
| 2 | men_1 |
| 1 | men_2 |
| 0 | men_3 |
+-------+---------------+
si urmatoarele variabile:
Cod: Selectaţi tot
$meniunea1 = '%men_1%';
$meniunea2 = '%men_2%';
$meniunea3 = '%men_3%';
Cum pot interoga tabelul ca sa structurez mentiunile si sa imi contorizeze cate sunt de stare1, stare2 si stare0:
Cod: Selectaţi tot
+-----------+---------+---------+---------+
| MENTIUNEA | STARE_1 | STARE_2 | STARE_0 |
+-----------+---------+---------+---------+
| men_1 | 2 | 1 | - |
| men_2 | 1 | - | - |
| men_3 | - | - | 1 |
+-----------+---------+---------+---------+
Cod: Selectaţi tot
//contorizez de cate ori apare men_1
$sql = "SELECT * FROM tbl WHERE MENIUNI = $meniunea1";
$res = mysql_query($sql);
echo $num_men = mysql_num_rows($res); //2
//contorizez de cate ori apare stare_1 pentru men_1
$sql = "SELECT * FROM tbl WHERE MENIUNI = $meniunea1 AND STARE = 1";
$res = mysql_query($sql);
echo $num_men = mysql_num_rows($res); //2
si tot asa pentru fiecare variabila si stare
Cum pot evita o repetare a codului ?
Multumesc!
MarPlo
Mesaje: 4343
Salut
Vezi daca iti sunt de folos aceste instructini SQL.
Tabel sql:
Cod: Selectaţi tot
+-------+---------------+
| STARE | MENTIUNI |
+-------+---------------+
| 1 | men_1 |
| 1 | men_1 |
| 2 | men_1 |
| 1 | men_2 |
| 0 | men_3 |
+-------+---------------+
1. SQL 1, cu valori de verifiare puse la coloana STARE:
Cod: Selectaţi tot
select MENTIUNI,
sum(case when STARE =1 then 1 else 0 end) STARE_1,
sum(case when STARE =2 then 1 else 0 end) STARE_2,
sum(case when STARE =0 then 1 else 0 end) STARE_0
from tbl group by MENTIUNI order by MENTIUNI
- Rezultat:
Cod: Selectaţi tot
MENTIUNI STARE_1 STARE_2 STARE_0
men_1 2 1 0
men_2 1 0 0
men_3 0 0 1
2. SQL 1, cu valori de verifiare puse la coloana MENTIUNI:
Cod: Selectaţi tot
select STARE,
sum(case when MENTIUNI ='men_1' then 1 else 0 end) m_1,
sum(case when MENTIUNI ='men_2' then 1 else 0 end) m_2,
sum(case when MENTIUNI ='men_3' then 1 else 0 end) m_3
from tbl group by STARE order by MENTIUNI
- Rezultat:
sterica
Mesaje: 285
Multumesc mult de ajutor, functioneaza
Subiecte similare
-
Inversare cheie cu valoare in obiect JS
JavaScript - jQuery - Ajax
Primul mesaj
Nu imi dau seama cum pot schimba urmatorul obiect in JavaScript:
{ first : , second : , third : }
In acesta:
{ de : , ab : }
Vreau să...
Ultimul mesaj
Trebuie să parcurgi array-urile și pentru fiecare element din array verifici dacă există sau nu un array pentru acea valoare în acumulator înainte de...
-
Convertire 8-biți număr în valoare de culoare Hex în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Încerc să convertesc un număr întreg de 8-biți în valoare de culoare Hex. (de ex. FFFFFF).
Numarul de culoare pe 8-biți este generat cu următoarea...
Ultimul mesaj
Dacă ai un număr întreg, poți face cu:
color.toString(16)
Și îl va transforma într-un șir Hex.
// White
color = (255 * 65536) + (255 *...
-
Update de la mysql la mysqli
PHP - MySQL - XML
Primul mesaj
Buna seara,
caut sa inteleg dar nu pot. Am in site acest script care a functionat si functioneaza inca dar nu cu versiuni noi de PHP, cum ar fi 7....
Ultimul mesaj
In mysqli nu se foloseste mysql_query($sql).
Modulul mysqli e bazat pe obiecte si foloseste: $mysqli->query($sql);
Unde $mysqli e obiectul...
-
mysql Update dupa nume
PHP - MySQL - XML
Primul mesaj
Salutari,
Incerc de ceva timp sa fac sa imi salveze informatiile jucatorului in baza de date, o data inserate vreau atunci cand gaseste din nou...
Ultimul mesaj
Cand se creaza tabelul in baza de date, coloana nickname trebuie sa fie de tip UNIQUE KEY .
Iar id-ul ar trebui sa fie o valoare care sa nu o mai...