Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        5年前关闭。
                                                                                            
                
        
当我调用熟女= 1时,我的列为1s和0s,效果很好
但是当我致电MILF = 0或MILF!= 1时,它不起作用,我在tinyint列上缺少什么?

我应该将其更改为其他tinyint吗?

作品

SELECT   `MILF`,`page`,`img`,`Name`,`item`, (`totalrate` / `nrrates`),
         @rank_count := @rank_count + (totalrate/nrrates < @prev_value) rank,
         @prev_value := totalrate/nrrates avg
FROM     table, (SELECT @prev_value := NULL, @rank_count := 1) init
WHERE MILF =1 ORDER BY avg DESC


不起作用

    SELECT   `MILF`,`page`,`img`,`Name`,`item`, (`totalrate` / `nrrates`),
             @rank_count := @rank_count + (totalrate/nrrates < @prev_value) rank,
             @prev_value := totalrate/nrrates avg
    FROM     table, (SELECT @prev_value := NULL, @rank_count := 1) init
WHERE MILF =0 ORDER BY avg DESC


有一个MILF零和一列
0表示她不是熟女,并且该值已设置为默认值
1表示她是熟女

困难的方法是将not milf值设置为另一个不同于0的值,但是是否有原因不能与0一起使用?

最佳答案

没有更多的信息,我们只是在猜测。

我的猜测是,您遇到的特定问题与TINYINT数据类型没有真正的关系。

我的猜测是您没有考虑ANDOR布尔运算符的优先顺序。

但这只是猜测。



您说您“呼叫” MILF =0 or MILF !=1。我们认为这是作为布尔表达式,SELECT列表中的表达式,函数的参数,谓词(即WHEREON子句),在ORDER BY子句中或语句中的其他位置。

您说“它不起作用”,而“它不起作用”。我们认为这意味着您正在执行SQL语句,并且该语句返回意外错误,或者SELECT语句返回的行不符合您的期望,或者您正在运行其他产生意外事件的DML操作结果。



测试用例,样本表,样本数据

CREATE TABLE mytable (id INT UNSIGNED PRIMARY KEY, milf TINYINT);
INSERT INTO mytable (id,milf) VALUES (10,0),(11,1),(12,2),(13,-1),(14,NULL);


样品查询

SELECT id
     , milf
     , milf =1
     , milf =0
     , milf !=1
     , milf <=> NULL
  FROM mytable
 ORDER BY id


结果集返回:

    id    milf  milf =1  milf =0  milf !=1  milf <=> NULL
------  ------  -------  -------  --------  -------------
    10       0        0        1         1              0
    11       1        1        0         0              0
    12       2        0        0         1              0
    13      -1        0        0         1              0
    14  (NULL)   (NULL)   (NULL)    (NULL)              1


该行为如《 MySQL参考手册》中所定义。

08-06 17:32