mysql 中如何把查询出来的一列数据当成条件(字段)来使用?

假设表名叫table 表中有一个字段叫id
用伪sql举个例子:
select id '别名' from table 这样就查询出了字段名叫 别名 的一列数据
那如何实现这样的查询 select * from table where 别名 > 1;
也就是 select * from table where (select id from table) > 1;
(就这样写的话,子查询的返回数超过1了)
所以就是 能不能把查询出来的这一列数据当成一个平常的字段来使用,
比如 id > 1 是可以的 那要怎样实现 别名 > 1 这样的,,,
能办到吗,,,求大神帮忙!

1、打开mysql软件,需要查询表中msg这一列,只需将查询语句写成 “select msg from log1”。

2、需要统计表中有多少条数据,可以使用下图所示的语法,即可查看表数据的条目数量。

3、然后接下来就是查询msg这一列添加了一个别名为“m”提出条件。

4、最后,添加多个别名,别名的具体位置在列名的后面,这样就可以当成条件来使用了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-20

1、打开php的编辑器,然后新建一个文件,写上注释内容。#mysql中where条件的使用。

2、新建一个函数use_where。

3、连接数据库,填写连接需要的信息内容。

4、填写查询条件的sql语句,用where关键字来实现,例如:select * from test1 where id=1。

5、执行sql语句,并将结果处理输出来。

6、调用这个函数。use_where();。

7、在本地进行测试。

本回答被网友采纳
第2个回答  2017-07-06
可以对子查询做一个排序啊,然后只查寻一个,选出最小的id,比如:
select * from table where (select id from table order by id asc limit 1) > 1;追问

谢谢,很有意思的思路,,,以前没试过!刚在贴吧问大神有答案了,,,

本回答被提问者采纳
第3个回答  2017-07-06
没看懂你说的是啥,说了半天,其实就是select * from table where id>1 而已追答

你说的什么别名什么的都不是实质的东西

也没用看到哪里需要子集

追问

是啊,就是 select * from table where id > 1 只是这个id是查询出来的字段,而不是表中的字段!

追答

那就这样写 select id as 别名,* from table where id>1

就可以了

相似回答