2010-12-22 47 views
0
CREATE TABLE IF NOT EXISTS `photos` (
    `p_id` bigint(20) unsigned NOT NULL auto_increment, 
    `u_id` bigint(20) unsigned NOT NULL default '0', 
    `p_date` datetime NOT NULL default '0000-00-00 00:00:00', 
    `p_content` longtext NOT NULL, 
    `p_title` text NOT NULL, 
    `p_photo` text NOT NULL, 
    `p_small` text NOT NULL, 
    `p_thumb` text NOT NULL, 
    `p_up` bigint(20), 
    `p_down` bigint(20), 
    PRIMARY KEY (`p_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=229 ; 

我想要前10張最高評分的照片! 但是因爲有p_up(拇指向上)和p_down(拇指向下) 它的種類很複雜! 有人可以幫忙嗎?從數據庫中得到前10名,並進行一些計算

回答

0
SELECT * FROM photos ORDER BY (p_up-p_down) DESC LIMIT 10 
2

SELECT * FROM表ORDER BY P_UP - p_down DESC LIMIT 10

會更快,如果你CREATE INDEX富安表(P_UP - p_down)

0

下面的查詢將取得與最大P_UP照片 - p_down值第一個:

select * from photos order by (p_up - p_down) desc;