当前位置: 首页 > 面试题库 >

MySQL查询变得疯狂了吗?

赫连正初
2023-03-14
问题内容

谁能告诉我以下原因的原因以及如何解决?

我有一个带有ORDER BY子句的MySQL查询,如下所示。

ORDER BY (did_voteup-did_votedown) DESC, did_voteup DESC

因此,应按其“有效”等级对结果进行排序,如下所示。

1st. 10 up - 1 down = 9 effective
2nd. 10 up - 5 down = 5 effective
3rd. 10 up - 7 down = 3 effective

但是,正如您在此处的我的页面上所看到的那样,这是在错误地订购它们,然后给我这个。

1st. 1 up - 3 down = -2 effective
2nd. 16 up - 6 down = 10 effective
3rd. 15 up - 5 down = 10 effective

显然,第一排应该不存在。

更多信息..

CREATE TABLE dictionary_definitions (
  did_id int(11) unsigned NOT NULL auto_increment,
  did_wordid int(11) unsigned NOT NULL default '0',
  did_userid int(11) unsigned NOT NULL default '0',
  did_status tinyint(1) unsigned NOT NULL default '0',
  did_date int(11) NOT NULL default '0',
  did_definition text,
  did_example text,
  did_votecheck int(11) NOT NULL default '0',
  did_voteup smallint(5) unsigned NOT NULL default '0',
  did_votedown smallint(5) unsigned NOT NULL default '0',
  PRIMARY KEY (did_id),
  KEY (did_wordid),
  KEY (did_userid)
) ENGINE=MyISAM;

SELECT a.did_id, a.did_userid, a.did_definition, a.did_example, 
    a.did_votecheck, a.did_voteup, a.did_votedown, b.user_name, b.user_extra8 
FROM dictionary_definitions AS a LEFT JOIN users AS b ON a.did_userid=b.user_id 
WHERE did_wordid=4 
ORDER BY (did_voteup-did_votedown) DESC, did_voteup DESC LIMIT 0, 5

问题答案:

关于从无符号整数中减去是一个已知的问题。

默认情况下,整数值之间的减法(其中一个的类型为UNSIGNED)将产生无符号的结果。如果结果否则为负,则它将成为最大整数值。如果NO_UNSIGNED_SUBTRACTION启用了SQL模式,则结果为负。

参考:数值类型



 类似资料:
  • 问题内容: 在我目前正在使用的系统中,有一个过程将大量数据加载到数组中以进行排序/聚合/处理。我知道此过程需要针对内存使用情况进行优化,但是从短期来看,它只是需要工作。 给定加载到数组中的数据量,我们不断达到内存限制。它已经增加了好几次,我想知道在某种程度上增加它通常是个坏主意吗?还是 仅 取决于计算机具有多少RAM? 机器具有2GB的RAM,当前的memory_limit设置为1.5GB。我们可

  • 我正在尝试将spree store安装到我的应用程序中,当我在终端中输入时,我收到以下错误: 来源https://rubygems.org 宝石“轨道”、“4.2.5.1” 宝石'pg','~ gem'sass rails','~ 宝石“丑陋的” 宝石咖啡轨道 gem'jquery rails' gem“涡轮链接” 宝石jBuilder 创业板“sdoc”~ 小组:开发,:测试 调试器控制台gem

  • 问题内容: 我们在使用Pattern进行正则表达式验证时遇到问题。这些都没有发生在我们的代码中,整个事情都在Spring Framework和Hibernate的验证中发生。 (Spring 3.2.1,Spring 3.1.1,Hibernate Validation 4.2.0) 该调用尝试使用@Valid注释验证Spring Framework @ModelAttribute注释: 经过验证

  • 本书是一部真实再现程序员成长历程的原创小说,以作者的学习、工作、生活为原型,分为大学、工作、创业三部分,环环相扣,精彩迭出,其中作为主线的实际项目案例都基于作者深厚的技术积淀。本书生动描写了软件行业中的形形色色的人和事,形象而深刻、生动而亲切,充满了智慧的职场警句,能让不同职业的读者都受益匪浅。

  • 我必须编写一个二进制搜索树的实现,它可以处理库的库存。它读取一个包含所有书籍的文本文件,并将这些书籍按字母顺序添加到树中。我已经与Insertar()函数代码斗争了几天,但我无法使它正常工作,它基本上接收到一个指针,指向与书相关的所有数据的树根。如果根为NULL,则它将函数中输入的所有值初始化一个节点,并将内存方向指定为NULL节点。问题是,它在本地做,最终它没有分配它。谁能帮我纠正那个具体的功能

  • 然后,绝影的眼中流露出一片憧憬,他缓缓地说:“知道吗?我的第一份工作,也就是在周总的公司。那天面试完后周总送我回去,他问我:‘你的理想是什么?’我告诉他:‘我希望以后有一天能有一家自己的真正的软件公司。’当周总听到那句话的时候,我发现他的脸色变得很难看。是啊,他不是正经营着一家软件公司么?或许每个老板都是这样想的,希望他的员工能一心一意地呆在公司,希望他们能把他的公司当成他们自己的,希望他们能全心