2012-12-16 59 views
0

有了這個代碼,我被列「意見」得到的消息從數據庫,並責令從兩個表和秩序兩列意見和評論的數量,但我不知道如何。 這裏是我的數據庫結構:通過他們的價值觀DESC

CREATE TABLE IF NOT EXISTS `news` (
    `id` int(11) NOT NULL auto_increment, 
    `views` int(11) NOT NULL default '0', 
    `title` varchar(255) NOT NULL, 
    `author` varchar(255) NOT NULL, 
    `date` varchar(255) NOT NULL, 
    `picture` varchar(255) NOT NULL, 
    `picture_desc` varchar(255) NOT NULL, 
    `category` varchar(255) NOT NULL, 
    `text` text NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; 

CREATE TABLE IF NOT EXISTS `news_comments` (
    `id` int(11) NOT NULL auto_increment, 
    `news_id` int(11) NOT NULL, 
    `name` varchar(255) NOT NULL, 
    `email` varchar(255) NOT NULL, 
    `website` varchar(255) NOT NULL, 
    `text` text NOT NULL, 
    `date` varchar(255) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ; 

我還想問你...你對代碼和數據庫結構有何評論?

+0

先說mysql_ *已被棄用,那傢伙使用mysqli! ..現在讓我們看看這個問題; p –

回答

0

試試這個SQL

SELECT n.*,count(nc.id) as cnt FROM news as n, news_comments as nc where n.id = nc.news_id group by nc.news_id ORDER BY views DESC,cnt DESC LIMIT 5 
+0

這是工作,謝謝。 我可以通過視圖和評論數量先訂購嗎? 它首先按評論數量排序。 –