2010-12-22 17 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 ; 

Und ich möchte die ersten 10 bestbewerteten Fotos! Aber da gibt es p_up (Daumen hoch) und p_down (Daumen runter) Es ist irgendwie kompliziert! Kann jemand helfen?Holen Sie sich Top 10 aus der Datenbank mit einigen Berechnungen

Antwort

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

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

schneller sein, wenn Sie INDEX foo ON Tabelle CREATE (P_UP - p_down) Abfrage

0

Nach werden Fotos mit größter P_UP holen - p_down Wert zuerst:

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