我有这个问题:
SELECT id, header, title, price_obm, packs
FROM obm
WHERE id
IN (2, 12, 10, 2, 10)
ORDER BY FIELD(id, 2, 12, 10, 2, 10)
现在,我需要多次输出相同的行(2,10),这些行可能会有所不同(可以是任意数字)。
我该怎么做?
输出示例:
id | header | title | price_obm | packs
2 | head2 | tit2 | price2 | p2
12 | head12 | tit12 | price12 | p12
10 | head10 | tit10 | price10 | p10
2 | head2 | tit2 | price2 | p2
10 | head10 | tit10 | price10 | p10
答案 0 :(得分:4)
使用您使用的任何编程语言对结果集进行后处理,以便对数据进行后处理以进行演示。不要让MySQL完成所有工作。
单个查询无法生成您想要的确切结果,因为ORDER BY子句将始终将具有公共id
的项目排在彼此旁边。
答案 1 :(得分:-1)
您可以使用UNION
关键字来实现此目的。
您可以找到示例Here