• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MySQL - Utworzenie widoku

Object Storage Arubacloud
+1 głos
976 wizyt
pytanie zadane 17 grudnia 2017 w SQL, bazy danych przez Sheller Nowicjusz (160 p.)

Witam

Muszę utworzyć widok który pokaże wszystkich użytkowników i liczbę postów dodanych przez każdego z nich. Próbowałem różnych kombinacji z CREATE VIEW, ale nie potrafię wpisać tego poprawnie by pokazało także liczbę postów dodanych przez każdego z użytkowników. 

Struktura tabel:

Posts

+--------------+-----------+------+-----+-------------------+-----------------------------+
| Field        | Type      | Null | Key | Default           | Extra                       |
+--------------+-----------+------+-----+-------------------+-----------------------------+
| post_id      | int(11)   | NO   | PRI | NULL              | auto_increment              |
| user_id      | int(11)   | NO   | MUL | NULL              |                             |
| post_date    | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| post_content | blob      | YES  |     | NULL              |                             |
+--------------+-----------+------+-----+-------------------+-----------------------------+

Users


+--------------------+-------------+------+-----+---------+----------------+
| Field              | Type        | Null | Key | Default | Extra          |
+--------------------+-------------+------+-----+---------+----------------+
| user_id            | int(11)     | NO   | PRI | NULL    | auto_increment |
| user_name          | varchar(20) | NO   | UNI | NULL    |                |
| user_pass          | char(56)    | NO   |     | NULL    |                |
| user_email         | varchar(50) | NO   |     | NULL    |                |
| user_friendly_name | varchar(25) | YES  |     | NULL    |                |
+--------------------+-------------+------+-----+---------+----------------+

 

1 odpowiedź

+1 głos
odpowiedź 17 grudnia 2017 przez Chess Szeryf (76,710 p.)
edycja 17 grudnia 2017 przez Chess
 
Najlepsza
create view show_lists_user_about_id as select users.user_id as user_id1,user_name,user_pass,posts.post_id,posts.user_id from users left join posts on users.user_id = posts.user_id where posts.user_id = users.user_id;
SELECT * FROM show_lists_user_about_id;

https://dev.mysql.com/doc/refman/5.7/en/join.html

https://dev.mysql.com/doc/refman/5.7/en/create-view.html

Edit:

create view who_wrote_how_much_posts as
select count(*),posts.user_id
from posts,users
where posts.user_id = users.user_id
group by posts.user_id;

select * from who_wrote_how_much_posts;

Result:

count(*) user_id
1 2
2 5

Jeśli chcesz mieć inną nazwę zamiast count(*), to zastosuj alias, np. taki: (...)SELECT count(*) as `quantity`(...).

https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html

komentarz 17 grudnia 2017 przez Sheller Nowicjusz (160 p.)
O coś takiego mi chodziło tylko utworzony widok musi pokazywać jedynie user_id i liczbę postów. Zapomniałem tego dopisać w 1 poście, ale przy liczbie postów trzeba jakoś zastosować COUNT.
komentarz 17 grudnia 2017 przez Sheller Nowicjusz (160 p.)
Bardzo mi pomogło. Dziękuję bardzo i pozdrawiam.

Podobne pytania

0 głosów
2 odpowiedzi 1,172 wizyt
0 głosów
1 odpowiedź 117 wizyt
0 głosów
1 odpowiedź 163 wizyt
pytanie zadane 16 października 2018 w SQL, bazy danych przez tomek.ko Nowicjusz (120 p.)

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...