mysql - SQL 获取指定列表的第一个

标签 mysql sql select

是否可以根据给定列表的索引获取数据库行?

我有一张 table ,我们称之为“存储”。存储中可以包含各种字符串值。下面的列表列出了存储中可能的值。不知道表里有没有。但我想根据给定列表的顺序选择找到的第一个值

列表:

  1. 酒吧
  2. foobar
  3. 巴富

1.Foo 和 2.bar 不存在,但 3.foobar 存在。 3.foobar是我要获取的。

希望我的问题足够清楚。

提前致谢。

最佳答案

select col
from your_table
where col in('foo','bar','foobar')
order by field(col, 'foo','bar','foobar')
limit 1

FIELD()函数返回列表中值的索引。

关于mysql - SQL 获取指定列表的第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162720/

相关文章:

mysql - 是否可以使用 2 个不同的表更新某个列值并删除它?

php - 显示来自 MySQL 的多个值

mysql - 两个 SQL 查询 - 性能差异?

MySQL语句-从一组中选择最大值

c# - 根据 Access 表检查 ID 并循环执行 SQL 语句

javascript - 事件在开幕前进行选择。 (点击速度不够快)

tsql - T-SQL 删除插入的记录

mysql - 带有限制和分页的 yii CActiveDataProvider

mysql - 在 MySQL TEXT 字段中搜索以逗号分隔的多个类别

android - 从数据库获取数据到android ListView