- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个看起来像这样的表:
id | some | irrelevant | data | time | waste_time | logged_in
--------------------------------------------------------------
1 | | | | 0 | 246 | 0
2 | | | | 0 | 360 | 0
3 | | | | 116 | 116 | 0
4 | | | | 291 | 199 | 0
5 | | | | 3997 | 520 | 0
6 | | | | 0 | 175 | 0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
我正在尝试将其中的数据呈现为多个 <table>
s,基于 time - waste_time
的结果列。我以为我有它的工作,但我在我的代码中发现了一个错误。如果结果为负数,则将其与 0 ( time - waste_time > 0
) 进行比较会被忽略。
这些是我的查询:
SELECT * FROM players WHERE time-waste_time > 0 OR logged_in=1 ORDER BY logged_in DESC, login DESC
SELECT * FROM players WHERE time-waste_time > 0 AND login < $time_limit ORDER BY login DESC
SELECT * FROM players WHERE time-waste_time <= 0 AND logged_in=0 ORDER BY login DESC
第一个查询将显示时间为 0 且 waste_time 为 150 的玩家,即使 0 - 150 = -150
和 -150 < 0
第三个查询不会显示这样的播放器。预期结果是,这样的播放器不会被第一次和第二次查询返回,但会被第三次返回。
我已经找到了这个答案:Using 'Greater than' operator with a negative number但这没有帮助。
有什么想法为什么会这样吗?我怎样才能让它发挥作用?
附: logged_in
是零
谢谢。
最佳答案
看起来如果您使用 UNSIGNED 字段并且它们在 SQL 查询中的减法结果为负,它会给您错误,即使字段本身不包含负值也是如此。
您可以在 SQLFiddle 中尝试此代码.
链接:http://sqlfiddle.com/#!9/80bbc/1
CREATE TABLE myTable(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(200),
time INT(11) UNSIGNED,
waste_time INT(11) UNSIGNED,
logged_in TINYINT(3));
INSERT INTO myTable (name, time, waste_time, logged_in) VALUES ("test1", 0, 246, 0);
INSERT INTO myTable (name, time, waste_time, logged_in) VALUES ("test2", 0, 360, 0);
INSERT INTO myTable (name, time, waste_time, logged_in) VALUES ("test3", 116, 116, 0);
INSERT INTO myTable (name, time, waste_time, logged_in) VALUES ("test4", 291, 199, 0);
INSERT INTO myTable (name, time, waste_time, logged_in) VALUES ("test5", 3997, 520, 0);
INSERT INTO myTable (name, time, waste_time, logged_in) VALUES ("test6", 0, 125, 0);
这个查询:
SELECT *
FROM myTable
WHERE time - waste_time > 0 OR logged_in = 1;
SELECT *
FROM myTable
WHERE time - waste_time <= 0 AND logged_in = 0;
现在,这是没有 UNSIGNED INT 字段的版本:http://sqlfiddle.com/#!9/f6dbd/1
修复它的方法是不使用 UNSIGNED 整数,或者在进行此类比较时,将结果转换为 SIGNED
整数
CAST((time - waste_time) AS SIGNED)
关于php - MySQL 减去两列并将它们与 WHERE 子句中的数字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31123646/
我有两个列表,我想从 neg 中减去列表 pos 中元素的频率。所以: neg = [x for x in all[:800000]] pos = [x for x in all[800000:]]
我有两个列表,我想从 neg 中减去列表 pos 中元素的频率。所以: neg = [x for x in all[:800000]] pos = [x for x in all[800000:]]
我正在尝试减去 2 个标准逻辑向量并得到错误 p2 <= p1(11 downto 0)- idata(11 downto 0); Error (10327): VHDL error at sub.v
我将以下代码嵌入到类中。每当我运行 distToPoint 时,它都会给出错误“不支持的操作数类型 -: 'NoneType' 和 'float'” 我不知道为什么它会返回 NoneType 和如何让
这一直让我想知道, 假设我有这种情况: select (...long sub query..) - (...long sub query..) 我想把 - 放在条件中,这意味着有时它会是 - 有时是
我有两个 vector 。我需要从 vector1 中删除 vector2 中的内容。 [编辑:不清楚这是否意味着按照下面的链接或设置差异进行逐元素减法] 我使用 Visual Studio 2010
我有一张这样的 table : id product_property_id product_id amount type 1 1 145 10
我有两个 boolean 值列表 buy_machine 和 broken_machine。我想创建第三个列表 working_machines,它是购买的机器数量的总和并减去坏机器的数量。 我尝试了
我似乎可以解决这个问题。我有两个来自 sql 的访问者/国家/地区列表 us,us,uk,fr,uk,uk,uk 和 us,uk 我用 array_count_values() 将它们制成数组: Ar
我在 javascript 中减去时间时遇到了麻烦,尽管我已经谷歌搜索了 2 天但没有任何运气:( 我正在尝试为调查问卷计时。当用户开始调查问卷时,会记录时间戳。当用户完成/单击提交时,会记录新的时间
我正在尝试对 flex 搜索中索引的字段进行一些分析。 其中两个字段是“start_time”和“end_time”。我基本上希望将这两个字段的差异分组,即('end_time'-'start_tim
我有一个函数,它接收两个 BigDecimal 数字,即 bd1 和 bd2 作为参数。该函数应减去 bd1 - db2 并返回 bd1 和 bd2 的小数位数均为 2,结果的小数位数也应仅为 2但使
根据ldt_code中的ld源代码here。没有将dl_main传递给phdr的上下文,我对为什么通过减去虚拟地址来推断main_map的加载地址有些困惑。 我跟踪过的代码: 1124 static
我进行了多次重复测量的治疗,我想减去每次治疗的每个时间点的对照值。数据集的形状是这样的,有多年、物种和处理。 ID Year Species Treatment value 1 2010 x
我正在尝试查找一次旅行的矩形区域,可以在此处找到更多上下文 我在下面的代码中遇到的错误是: "Exception in thread "main" java.lang.ArrayIndexOutOfB
我一直在尝试使用 pandas dataframe 减去我读入 python 的列之间的日期和时间。我写的代码如下: Time = df['t'] - df['t'].shift(1) + df['t
I want to subtract all values in a[nn,...,0] by b[nn] while keeping the original structure of the ar
假设我有两个列表:List l1,和 Listl2 请帮助我如何在 2 个列表之间合并、减去和相交。谢谢。 注意:我使用的是 .NET 2.0,所以我不能使用 LINQ。谢谢。 最佳答案 以下是伪代码
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我正在尝试运行以下代码: extern crate unicase; use unicase::UniCase; use std::collections::HashSet; fn main() {
我是一名优秀的程序员,十分优秀!