我有一个名为 reviews
的 MySQL 表review_id, product_id, language_id, rating, review, author
language_id 范围从 1 到 10,代表 10 种不同的语言。
假设我确定我的访问者正在使用 id 为 4 的语言浏览网站
有没有一种方法可以编写一个查询: 1. 首先用当前语言获取该产品的评论 2. 接下来,抓取按语言排序的其他语言的该产品的评论
因此,基本上以下 2 个查询的工作是一个接一个地运行:
SELECT * FROM reviews WHERE product_id = 723 AND language_id = 4;
SELECT * FROM reviews WHERE product_id = 723 AND language_id != 4 ORDER BY language_id ASC;
最佳答案
SELECT * FROM reviews WHERE product_id = 723
order by case when language_id = 4 then 0 else 1 end, language_id;
关于php - 以特定顺序检索数据的单个 SQL 查询(不是 ASC/DESC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27291360/