首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL查询,我是不是遗漏了什么?

SQL查询,我是不是遗漏了什么?
EN

Stack Overflow用户
提问于 2014-03-09 10:57:16
回答 4查看 82关注 0票数 0

在SQL中,给定此数据集

当我尝试这个查询时

代码语言:javascript
运行
复制
SELECT * FROM table1 WHERE NAME= 'Bob'

它提供了结果,但当我尝试这样做时,它不起作用,但也不会产生任何错误

代码语言:javascript
运行
复制
SELECT * FROM table1 WHERE NAME= 'Bob' AND NAME= 'John';

有人能告诉我我做错了什么吗?

谢谢

编辑:

给定以前的数据集

在dataset表的消息中的任何位置找到单独出现在4条以上消息中但从未在同一条消息中同时出现的任何两个单词?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-09 10:58:36

您应该使用OR而不是AND

代码语言:javascript
运行
复制
SELECT * FROM table1 WHERE NAME= 'Bob' OR NAME= 'John';

NAME不能同时是BobJohn,但是BobJohn

票数 3
EN

Stack Overflow用户

发布于 2014-03-09 10:58:55

第二个查询返回记录,其中Name="Bob"Name="John"将始终为空。你可以这样做:

代码语言:javascript
运行
复制
SELECT * FROM table1 WHERE NAME= 'Bob' OR NAME= 'John';

它将返回名为Bob John的记录。

其结果将是:

代码语言:javascript
运行
复制
DATA                NAME    MESSAGE                         TIMEZONE
01/03/2014 10:27    Bob     What time do you want to meet?  London
18/02/2014 02:43    John    What time is it in London?      New york
14/02/2014 00:50    Bob     Meeting today?                  London

SQL Fiddle中的结果

阅读更多关于逻辑运算符的信息。

编辑:

对于第二个问题,请使用以下查询:

代码语言:javascript
运行
复制
SELECT name,message 
FROM table1
WHERE ROUND ((CHAR_LENGTH(message)
            - CHAR_LENGTH( REPLACE ( message, "out", "") ) 
            )/CHAR_LENGTH("out")) =1

它选择message只包含"out"一次的记录。

参见SQL Fiddle中的示例

查看查询是如何工作的这里

票数 3
EN

Stack Overflow用户

发布于 2014-03-09 11:24:05

除了使用OR之外,另一种方法就是只使用IN

代码语言:javascript
运行
复制
SELECT * FROM table1 WHERE NAME IN ('Bob', 'John');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22281320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档