Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]sortowanie identycznych rekordow wg ilosci
Forum PHP.pl > Forum > Przedszkole
masterbx2
nie moge sobie poradzic z pewnym zapytaniem.

mam w tabeli kilka powtarzajacych sie zapisow. chcialbym policzyc wszystkie identyczne zapisy poczym posortowac je wg ilosc i wyswietlic.

czyli tlumaczac na prostym przykladzie tabela wyglada tak:

id: wartosc:
1 1
2 3
3 8
4 1
5 6
6 1
7 8
8 3
... ...

wynik sortowania:

pozycja: wartosc: ilosc:
1 1 3
2 3 2
3 8 2
4 6 1
ylk
  1. SELECT wartosc, COUNT(wartosc) AS ilosc FROM tabela GROUP BY wartosc
masterbx2
sprobowalem ale niestety nie uzyskalem oczekiwanego wyniku. tak samo uzywajac funkcji order by. uzywajac group by wartosc wyniki sortowane sa wg wartosci cyfr w tabeli, czyli wynik wyglada tak:

pozycja: wartosc: ilosc:
1 1 3
2 3 2
4 6 1
3 8 2

a sortowanie ma byc wg ilosci :/

Pozwole sobie odswierzyc temacik bo wciaz mam z tym problem . . i podam skrypt jaki probowalem:

  1. $ilosc=0;
  2. $query = mysql_query("SELECT link_id, COUNT(link_id) AS ilosc FROM oceny GROUP BY link_id");
  3. while($row=mysql_fetch_array($query))
  4. {
  5.  
  6. $ilosc = $row['ilosc'];
  7. echo '<br />';
  8. echo $ilosc;
  9. echo 'link_id';
  10. echo $row['link_id'];
  11. }
Hpsi
Kod
mysql> select wartosc, count(wartosc) AS ilosc FROM test group by wartosc ORDER BY ilosc DESC;
+---------+-------+
| wartosc | ilosc |
+---------+-------+
|       1 |     3 |
|       3 |     2 |
|       8 |     2 |
|       6 |     1 |
+---------+-------+
4 rows in set (0.00 sec)

wartosci tabeli test
ysql> select * from test;
+----+---------+
| id | wartosc |
+----+---------+
|  1 |       1 |
|  2 |       3 |
|  3 |       8 |
|  4 |       1 |
|  5 |       6 |
|  6 |       1 |
|  7 |       8 |
|  8 |       3 |
+----+---------+
8 rows in set (0.00 sec)

o to ci chodzilo ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.