繁体   English   中英

MySQL SELECT行可响应其中一列中的特定MULTIPLE值

[英]MySQL SELECT rows which respond to specific MULTIPLE values in one of the columns

我已经遍及整个Web以及StackOverflow,并且发现了许多类似的主题,但是没有一个主题可以特别满足我的需求。 因此,我将其发送到那里,因为我知道可能缺少一些小东西才能使其正常工作。

让我们想象一下下表:

      location  |   title   | description | quantity 
    ============|===========|=============|==========
      shelf     |   apple   |    red      |    2
      drawer    |   banana  |    yellow   |    4
      shelf     |   kiwi    |    green    |    2
      cupboard  |   lemon   |    yellow   |    1
      fridge    |   melon   |    orange   |    3
      drawer    |   peach   |    orange   |    1

我想做的是从此表中选择drawershelf上的所有物品(例如drawershelf ),然后按以下顺序对它们进行排序:首先,位置升序,其次,数量降序。

因此,我所拥有的(在整个网络上搜索之后)是以下代码,这是唯一不返回错误但也不返回任何项目的代码:

SELECT * FROM items WHERE location = 'shelf' AND location = 'drawer' ORDER BY location ASC, quantity DESC

我要去哪里错了? 任何反馈将不胜感激!

通常,问题在于如何从多个表中选择值,然后将它们联接。 但是,我只需要一张表中的值。 但是,这些值需要响应它们共享的特定多个值。

SELECT * FROM items WHERE location = 'shelf' or location = 'drawer'
ORDER BY location ASC, quantity DESC

要么

SELECT * FROM items WHERE location in ('shelf','drawer')
ORDER BY location ASC, quantity DESC

尽管对于仅两个项目,我可能会选择第一个,即3个或更多,我可能会使用in()

附加信息:之所以没有返回记录,是因为您在自己的情况下使用AND 请记住,一行中的每一列都只有一个值。

尝试使用这个.....

如果您想在php中使用它,可以修改我的代码并将其替换为您的代码。 开发此程序时,我遇到了类似的问题:

$data = mysql_query("SELECT * FROM cancer WHERE Age ='1'OR Age = '2' OR Age = '3'OR Age = '4'OR Age = '5'OR Age = '6'OR Age = '7'OR Age = '8'OR Age = '9'") 

如果是sql,请使用:

SELECT * FROM items WHERE location = 'shelf' or location = 'drawer'
ORDER BY location ASC, quantity DESC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM