|
|
|
| Есть таблицы
comments
comment_id
comment_news_id
comment_data
news
news_id
news_title
news_autor
Нужно подсчитать количество комментов для каждой новости и вывести 10 новостей с наибольшим кол-ом комментариев.
Я составип запрос, но он выдает пустые строчки
SELECT news_id, news_title
FROM news
JOIN (SELECT comment_id AS nid, COUNT(*) AS total FROM comments GROUP BY comment_id) AS sel1 ON news.news_id = sel1.nid
ORDER BY sel1.total DESC LIMIT 10 | |
|
|
|
|
|
|
|
для: Dred
(01.06.2008 в 00:32)
| | >ON news.news_id = sel1.nid ??
SELECT news_id, news_title
FROM news
JOIN (
SELECT COUNT(comment_id) AS total, comment_news_id
FROM comments GROUP BY comment_news_id)
AS sel1 ON news.news_id = sel1.comment_news_id
ORDER BY sel1.total DESC LIMIT 10
|
| |
|
|
|
|
|
|
|
для: Root
(01.06.2008 в 09:19)
| | а как мне вывести название новости и количество комментариев??
Данная конструкция мне выводит только одно значение total, при том что количество названий новостей 10...:
do
{
echo $row_com['total'].' '.$row_com['title']';
}
while ($row_com = mysql_fetch_assoc($com)); | |
|
|
|
|
|
|
|
для: Dred
(01.06.2008 в 13:37)
| | она тотал выводит? :)
<?php
$query = "SELECT news_id, news_title, sel1.total
FROM news
JOIN (
SELECT COUNT(comment_id) AS total, comment_news_id
FROM comments GROUP BY comment_news_id)
AS sel1 ON news.news_id = sel1.comment_news_id
ORDER BY sel1.total DESC LIMIT 10";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
echo $row['total'];
echo $row['news_title'];
echo $row['news_id'];
}
?>
|
| |
|
|
|
|
|
|
|
для: Dred
(01.06.2008 в 13:37)
| | >а как мне вывести название новости и количество комментариев??
>Данная конструкция мне выводит только одно значение total, при том что количество названий новостей 10...:
Она вообще total выводить не должна. В верхнем SELECT-списке поле total не фигурирует.
>
>do
>{
>echo $row_com['total'].' '.$row_com['title']';
>}
> while ($row_com = mysql_fetch_assoc($com));
Вы не указали сам запрос. | |
|
|
|
|
|
|
|
для: Trianon
(01.06.2008 в 13:50)
| | Спасибо, получилось... | |
|
|
|