gpt4 book ai didi

mysql - 如何选择与 select where COL in (a,b,c) 匹配的最后一行

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:23 26 4
gpt4 key购买 nike

我需要创建一个 SQL 查询 (MySql),它根据 IN(a,b,c) 中值的顺序返回“in”子句的最后一行。为了简化问题,这里有一个示例表,以及我需要的查询结果。

For the Table PEOPLE, with values
LAST_NAME FIRST_NAME
.....
Smith Mike
Smith Betty
Smith Jane
Jones Mike
Jones Sally
....

我需要一个类似的查询

SELECT * 
FROM PEOPLE
WHERE FIRST_NAME = 'Mike' AND LAST_NAME IN ('Smith','Jones')

返回 Mike Jones 和类似的查询

SELECT * 
FROM PEOPLE
WHERE FIRST_NAME = 'Mike' AND LAST_NAME IN ('Jones','Smith')

返回 Mike Smith

基本上 WHERE LAST_NAME IN (....) 提供一个“覆盖”功能,其中列表的成员可以根据来自列表的顺序覆盖结果集中的值IN (...) 子句的成员。

最佳答案

您可以使用 FIELDORDER BY 子句中:

SELECT * 
FROM PEOPLE
WHERE FIRST_NAME = 'Mike'
AND LAST_NAME IN ('Smith','Jones')
ORDER BY FIELD(LAST_NAME, 'Smith', 'Jones') DESC LIMIT 1;

只需在 FIELD 中使用相同的顺序重复 IN 的字符串文字值。

关于mysql - 如何选择与 select where COL in (a,b,c) 匹配的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com