sql - 通过一些计算从数据库中获取前 10 名

标签 sql mysql

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(拇指向下) 有点复杂! 有人可以帮忙吗?

最佳答案

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

如果您在表上创建索引 foo (p_up - p_down),速度会更快

关于sql - 通过一些计算从数据库中获取前 10 名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4512337/

相关文章:

sql - 如何使用 SQL - INSERT...ON DUPLICATE KEY UPDATE?

javascript - mysql连接的模块导出

mysql - 从 Servlet 在 JSP 中显示数据表

php - 使用 PHP 在 XLS 中编辑数据然后导入到 mySQL

sql - 当前月份的当前周数

sql - 查询 Postgresql 数据库以验证单词顺序

sql - 我可以计算名称在第一个查询中出现的次数的子查询

mysql - 连接多个表时出现 "WHERE"问题

Mysql - 性能问题

mysql - Fabric-ca-server连接到azure mysql : this authentication plugin is not supported