Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> distinct count()
jastu
post 24.08.2007, 12:42:01
Post #1





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

Ostrzeżenie: (0%)
-----


Witam,
jeśli mamy w tabeli trzy wiersze i pole parent_id ma wartości 1, 2, 2 to możemy policzyć ilość unikalnych parent_id tak

  1. SELECT DISTINCT parent_id FROM TABLE


a jak to zrobić z count() ?


Potrzebne mi to do widoku
  1. CREATE VIEW `db_core_`.`f_v_grupy` AS SELECT
  2. g.*,
  3. count(f.id_f) AS ile_for,
  4. count(c.id_k) AS ile_kat,
  5. count(t.id_t) AS ile_tem,
  6. count(r.id_o) AS ile_odp
  7. FROM f_t_groups AS g
  8. LEFT JOIN f_t_forums AS f ON f.id_g = g.id_g
  9. LEFT JOIN f_t_categories AS c ON f.id_f = c.id_f
  10. LEFT JOIN f_t_topics AS t ON c.id_k = t.id_k
  11. LEFT JOIN f_t_replies AS r ON t.id_t = r.id_t
  12. GROUP BY
  13. id_g

obecna wersja zlicza błędnie... sciana.gif

Ten post edytował jastu 24.08.2007, 12:42:47


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post
nospor
post 24.08.2007, 12:57:34
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. SELECT count(DISTINCT parent_id) FROM TABLE


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
jastu
post 24.08.2007, 13:14:12
Post #3





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

Ostrzeżenie: (0%)
-----


Ręce mi opadły....mogłem sprawdzić w ten sposób.Dzięki !

Szkoda bo :

Cytat
For a view to be updatable, there must be a one to one relatoinship between a view row and a (base) table row. Although I can think of a situation where a join does not preclude this requirement, it seem MySQL chooses to ban joins altogether. At least, the doc:

[dev.mysql.com]

say that a view is not updateble if it contains:

Aggregate functions (SUM(), MIN(), MAX(), COUNT(), and so forth)
DISTINCT
GROUP BY
HAVING
UNION or UNION ALL
Subquery in the select list
Join
Non-updatable view in the FROM clause
A subquery in the WHERE clause that refers to a table in the FROM clause
Refers only to literal values (in this case, there is no underlying table to update)
ALGORITHM = TEMPTABLE (use of a temporary table always makes a view non-updatable)


Ten post edytował jastu 24.08.2007, 13:20:57


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 01:31