怎样用mysql语句 查询一个表里面的一个字段下的2条数据。求大神指教!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用mysql语句 查询一个表里面的一个字段下的2条数据。求大神指教!相关的知识,希望对你有一定的参考价值。

参考技术A 你要查询满足哪些条件的 2条数据???--
select * from table where 条件~~~可以把实际例子 拿出来。。。追问

cs
1
1
1
2
我不能发图,这是一个表里的字段加他对应的数据,我想要把等于 1 的统计 别名 sum并且显示这个sum的数量,在加上统计 2 的数量 别名 sum1
最后得出 2条数据,就是 sum 的数 和 sum1 的数

参考技术B select col1 ,col2 from tablename 不会问的这么简单吧

ThinkPHP 条件是一个表里面的两个字段比较

ThinkPHP 条件是一个表里面的两个字段比较


 

今天群里有人问,thinkphp框架,条件是一个表里的两个字段,怎么查询。

然后就做了下测试:

比如查询出 手机号就是微信号 的用户:

(1)首先,正常的sql语句应该是这样的:

SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = `weixin`

然后在thinkphp框架中测试:

(2)当where条件是字符串时,肯定是可以的:

M(user)->where(`tel`=`weixin`)->field(id,name,tel,weixin)->select();

字段不加反引号【`】也是可以的:

M(user)->where(tel=weixin)->field(id,name,tel,weixin)->select();

(3)当where条件使用数组时,测试不可以,字段会被当做字符串,比较时转化为了0:

M(user)->where([‘tel‘=>"`weixin`"])->field(id,name,tel,weixin)->select();

打印出sql是:SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = 0。

 

M(user)->where([‘tel‘=>‘`weixin`‘])->field(id,name,tel,weixin)->select();

打印出sql是:SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = 0。

 

M(user)->where([‘tel‘=>`weixin`])->field(id,name,tel,weixin)->select();

打印出sql是:SELECT `id`,`name`,`tel`,`weixin` FROM `user` WHERE `tel` = null 。

 

结论:

使用单引号、双引号时,都会被当做字符串,比较时当做0来查询,

不用引号时,当做null来查询,

所以可以使用字符串的查询方式,数组没有查到好的解决办法,

欢迎大家指导!


 

以上是关于怎样用mysql语句 查询一个表里面的一个字段下的2条数据。求大神指教!的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句怎么循环取出一个表里面的所有字段,用逗号间隔

怎样用SQL查询一个表的所有字段

在mysql中怎样显示表里的内容

mysql中,怎样查询一个表中有多少记录!

php mysql怎样得到查询数据库里面数字的累计数

ThinkPHP 条件是一个表里面的两个字段比较