当您使用where in查询时,例如...
SELECT
ID, A, T
FROM `table1`
WHERE (A,T)
IN ($query)有没有办法让结果的顺序与你的查询一致?
所以如果$query是(“大卫·克洛克”,“大骗子”),(“安妮·史密斯”,“我的生活”)
结果是有序的
342 David Crock Big Crocks
12 Annie Smith My Life发布于 2013-10-10 23:02:12
如果$query是SELECT语句,则执行join语句。
如果它是一组文字值,那么可以将它们以某种顺序插入到临时表中,例如自动增量id,然后执行join+order by或...
SELECT
ID, A, T
FROM `table1`
WHERE A
IN ('David Crock', 'Annie Smith')
ORDER BY LOCATE(A, 'David Crock,Annie Smith');(对不起-我以前没有遇到过多值的'IN‘语句,因此不确定它是如何工作的-它工作吗?)
发布于 2013-10-10 22:54:31
通常情况下,您必须在应用层进行此映射,这是您拥有所有相关信息的唯一位置。可以使用TEMPORARY表以正确的顺序对其进行排序,但最好避免这样做。
https://stackoverflow.com/questions/19299117
复制相似问题