假设我有一个order_dummy
表,其中order_dummy_id, order_id, user_id, book_id, author_id
存储。你可能会抱怨我的桌子的逻辑,但我不知道需要这样做。我想执行以下查询。如何将几乎相同的几个查询合并成一个?
SELECT *
FROM order_dummy
WHERE order_id = 1
AND user_id = 1
AND book_id = 1
ORDER BY `order_dummy_id` DESC
LIMIT 1
SELECT *
FROM order_dummy
WHERE order_id = 1
AND user_id = 1
AND book_id = 2
ORDER BY `order_dummy_id` DESC
LIMIT 1
SELECT *
FROM order_dummy
WHERE order_id = 1
AND user_id = 1
AND book_id = 3
ORDER BY `order_dummy_id` DESC
LIMIT 1
请记住,一个订单中包括几个相同的书籍。因此,我通过降序列出order_dummy_id
并限制1
,因此只显示A BOOK的最新订单。但我的目标是在一张桌子上以这种方式展示其他书籍。我用group by
这样的...
SELECT *
FROM order_dummy
WHERE order_id = 1
AND user_id = 1
GROUP BY book_id
,但它只能说明order_dummy_id
有上升的结果。我不知道了。期待你的善意帮助!
@abatishchev请不要编辑我的英文H。 Normalize是我在英国居住的英国拼写。 Normalize是美国人! – iBiryukov 2010-05-12 20:40:47
好的,对不起,不知道 – abatishchev 2010-05-12 20:56:25