Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 09 Февраль, 2012, 08:05:33

Страниц: [1] 2
Печать
Автор Тема: COUNT()  (Прочитано 2781 раз)
0 Пользователей и 1 Гость смотрят эту тему.
NRG    ↓ 
26 Сентябрь, 2008, 05:54:24
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4595
Сила слова: 17.21

есть две таблицы : blog_post, blog_comment
 
blog_post
id | author_id | title | text | created_at |
 
blog_comment
id | blog_post_id | author_name | text | created_at |
 
мне необходимо одним запросом получить все блог-посты и кол-во комментов к ним, т.е. прибл вот так :
id | author_id | title | text | created_at | num_of_comments |
 
понимаю что надо  сделать лефтджойн, но как в нем уже сделать КАУНТ ?
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Timur    ↓ 
26 Сентябрь, 2008, 06:07:44 , спустя 13 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!

NullPointerException
Группа: в ухо

Карма: 56
Сообщений: 1009
Сила слова: 5.55

SQL
SELECT COUNT(`blog_comment`.`id`)
FROM `blog_comment`, `blog_post`
WHERE
`blog_comment`.`blog_post_id`=`blog_post`.`id` AND
`blog_post`.`id`=1
Записан
adw0rd    ↓ 
26 Сентябрь, 2008, 06:09:48 , спустя 2 минуты 4 секунды
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

храни количество камментов в отдельном поле
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
adw0rd    ↓ 
26 Сентябрь, 2008, 06:10:24 , спустя 36 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

NRG, если тебе надо всетаки вытягивать сразу - UNION спасет тебя :)
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
NRG    ↓ 
26 Сентябрь, 2008, 06:12:24 , спустя 2 минуты
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4595
Сила слова: 17.21


храни количество камментов в отдельном поле
и что при каждом добалении/удалении камента мне апдейтить еще эту тейблу ?
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
md5    ↓ 
26 Сентябрь, 2008, 06:14:10 , спустя 1 минуту 46 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10447
Сила слова: 1.2

SQL

SELECT B.*, COUNT(BC.*) AS `comments`
FROM `blogs` AS B
LEFT JOIN `blogs_comments` AS BC
ON BC.`parent_id`=B.`id`
GROUP BY B.`id`
 
вобще group by нужен
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
NRG    ↓ 
26 Сентябрь, 2008, 06:16:49 , спустя 2 минуты 39 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4595
Сила слова: 17.21

я сначала думал просто сделать так
Text
SELECT * FROM `sf_blog_post` LEFT JOIN `sf_blog_comment` ON `sf_blog_post`.`id` = `sf_blog_comment`.`sf_blog_post_id`
а потом уже оттуда все вытягивать...
md5, твой вариант по сути тот же...
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
sap    ↓ 
26 Сентябрь, 2008, 06:18:49 , спустя 2 минуты
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

и что при каждом добалении/удалении камента мне апдейтить еще эту тейблу ?
А что в этом плохого? Добавление комментария происходит реже, нежели выборка.
Записан

md5    ↓ 
26 Сентябрь, 2008, 06:20:29 , спустя 1 минуту 40 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10447
Сила слова: 1.2


я сначала думал просто сделать так
Text
SELECT * FROM `sf_blog_post` LEFT JOIN `sf_blog_comment` ON `sf_blog_post`.`id` = `sf_blog_comment`.`sf_blog_post_id`
а потом уже оттуда все вытягивать...
md5, твой вариант по сути тот же...
ну а в чем проблема?
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
NRG    ↓ 
26 Сентябрь, 2008, 06:21:18 , спустя 49 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4595
Сила слова: 17.21

sap, я не говорю что это песпредельно плохо, но мне кажется так будет неправильно...
меня интересует реально ли получить такой результат который я написал в сабже одним запросом....
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
adw0rd    ↓ 
26 Сентябрь, 2008, 06:29:08 , спустя 7 минут 50 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

NRG, плюс в том что если ты отображаешь список постов и количество камментов к ним. То ты не затрагиваешь другие таблицы. Реши для себя - чаще пишут или читают.
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
CTAPbIu_MABP    ↓ 
26 Сентябрь, 2008, 06:30:08 , спустя 1 минуту
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5184
Сила слова: 1.81

Text
select p.*, x.num from pages p, (select count(*) as num from comments c where c.page_id=p.id) as x where 1=1
незнаю насчет мускула у меня в оракле работает
Записан

java.lang.OutOfMemoryError
sap    ↓ 
26 Сентябрь, 2008, 06:35:01 , спустя 4 минуты 53 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Жмурики

Карма: 40
Сообщений: 2697
Сила слова: 1.48

Реши для себя - чаще пишут или читают.
В любом случае, читают чаще. Я считаю, что в первую очередь должна быть оптимизирована выборка. Лучше на один селект инсерт и апдейт, чем каждый раз джойн.
Записан

adw0rd    ↓ 
26 Сентябрь, 2008, 06:40:41 , спустя 5 минут 40 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17221
Сила слова: 1.65

sap, я написал для того чтобы задумался NRG, а не ты :))
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
NRG    ↓ 
26 Сентябрь, 2008, 06:42:28 , спустя 1 минуту 47 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4595
Сила слова: 17.21

adw0rd, спасибо, твой вариант меня устраивает, сделаю так.     =)
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Страниц: [1] 2
Печать
 

Перейти в: