Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie zliczające
loczek111
post 3.05.2018, 12:36:32
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.03.2018

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


Witam,
Mam tabelę w bazie mysql

id --- tresc --- nr
1 --- abcd ---- 5
2 --- efgh ---- 0
3 --- ijkly ---- 2
4 --- mnop ---- 5
5 --- rstuw ---- 0

Wynikiem zapytania chcę osiągnąć następujący rezultat
id --- tresc --- zliczone
1 --- abcd ---- 0
2 --- efgh ---- 1
3 --- ijkly ---- 0
4 --- mnop ---- 0
5 --- rstuw ---- 2

Wybaczcie że tak wprost pytam ale wydaje mi się że to nic trudnego a nie mogę dojść do rozwiązania.
Go to the top of the page
+Quote Post
trueblue
post 3.05.2018, 13:07:27
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Czym jest wartość zliczone?


--------------------
Go to the top of the page
+Quote Post
loczek111
post 3.05.2018, 13:45:02
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.03.2018

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


Myślałem że przykład to zilustruje, kolumna 'zliczone' zawiera wartości ile razy występuje id danego rekordu w kolumnie 'nr'.
W moim projekcie wygląda to tak że wyświetlam wszystkie rekordy z nr = 0 , a te niezerowe to są odwołania do nich. Np. (co do mojego przykładu)
Wyświetlam rstuw(id =5) a obok liczbę jakby komentarzy (id 1 i 4 odwołuje się do id 5)
Go to the top of the page
+Quote Post
Pyton_000
post 3.05.2018, 14:01:55
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Na szybko:
Kod
SELECT a.id, a.tresc, IFNULL(b.c,0) FROM tt2 a
LEFT JOIN (SELECT nr, COUNT(0) as c FROM tt2 GROUP BY nr) as b ON (a.id = b.nr)
Go to the top of the page
+Quote Post
trueblue
post 3.05.2018, 16:41:09
Post #5





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


  1. SELECT t1.id, t1.tresc, t1.nr, COUNT(t2.nr) AS zliczone FROM tabela AS t1
  2. LEFT JOIN tabela AS t2 ON t2.nr=t1.id
  3. GROUP BY t1.id, t2.nr



--------------------
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: 28.03.2024 - 22:03