|
|
|
| Добрый день уважаемые.
С толкнулся с такой проблемой:
Есть талица news поля UID | Name ( номер статьи и название )
есть вторая таблица comment с мнением о статье поля UID | ID | Text
ID -- это номер статьи
Кол-во записей в таблице comment очень много
как мне толковый запрос, чтобы не прогонять туда сюда базу, чтобы узнать у какой статьи наибольшее кол-во комментариев?
Может слишком все закручено написано. Спрашивайте отвечу. Но прошу вашей помощи. Плиз.
Спасибо. | |
|
|
|
|
|
|
|
для: !!!Леха
(09.10.2006 в 23:53)
| |
$query="SELECT COUNT(DISTINCT(UID)) AS sum, DISTINCT(UID) AS id FROM table2";
$result = mysql_query($query);
$col = mysql_fetch_array($result);
$max = 0;
$id = "";
for($i=0; $i<mysql_num_rows($col); $i++)
{
if($col['sum']>$max)
{
$max = $col['sum'];
$id = $col['id'];
}
}
//а потом
$quer = "SELECT * FROM table1 WHERE UID =".$id;
|
| |
|
|
|
|
|
|
|
для: Lelik
(10.10.2006 в 00:23)
| | пишет вот такую гадость
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT(UID) AS id FROM comment' at line 1
|
| |
|
|
|
|
|
|
|
для: !!!Леха
(10.10.2006 в 00:40)
| | Попробуй так:
$query = "SELECT COUNT(DISTINCT UID ) AS sum, DISTINCT UID AS ID FROM table2";
|
| |
|
|
|
|
|
|
|
для: name
(10.10.2006 в 02:21)
| | тоже самое | |
|
|
|
|
|
|
|
для: !!!Леха
(09.10.2006 в 23:53)
| | Можно поступить следующим образом
SELECT news.Name AS Name, COUNT(comment.UID) AS total
FROM news, comment
WHERE news.UID = comment.ID
GROUP BY comment.ID
ORDER BY total DESC
LIMIT 1
|
| |
|
|
|
|
|
|
|
для: cheops
(10.10.2006 в 14:15)
| | спасибо всем за помощь. получилось! | |
|
|
|