假設你有2個表是這樣的:Mysql的「複雜」之類的
mysql> SELECT * FROM theme;
+----+---------+------------+
| id | name | sort_order |
+----+---------+------------+
| 1 | Theme 1 | 1 |
| 2 | Theme 2 | 2 |
| 3 | Theme 3 | 3 |
| 4 | Theme 4 | 4 |
| 5 | Theme 5 | 5 |
| 6 | Theme 6 | 6 |
| 7 | Theme 7 | 7 |
+----+---------+------------+
mysql> SELECT * FROM article;
+----+------------+---------------------+----------+
| id | title | update_date | theme_id |
+----+------------+---------------------+----------+
| 1 | Article 1 | 2012-06-29 15:29:50 | 6 |
| 2 | Article 2 | 2012-07-18 00:00:00 | 2 |
| 3 | Article 3 | 2012-07-19 00:00:00 | 4 |
| 4 | Article 4 | 2012-07-18 00:00:00 | 4 |
| 5 | Article 5 | 2012-07-18 00:00:00 | 1 |
| 6 | Article 6 | 2012-06-26 10:30:51 | 6 |
| 7 | Article 7 | 2012-07-18 15:17:08 | 6 |
| 8 | Article 8 | 2012-06-18 00:00:00 | 4 |
| 9 | Article 9 | 2012-07-18 15:48:28 | 1 |
| 10 | Article 10 | 2012-07-09 00:00:00 | 4 |
+----+------------+---------------------+----------+
每篇文章都綁定到一個,且僅一個主題。
你希望能夠執行查詢,讓您訂購喜歡這篇文章的列表:
- 爲每個主題的第一最近的文章主題的
sort_order
- 第二最近的文章有序通過主題的
sort_order
- 第三最近的文章按主題的
sort_order
- 等訂購的每個主題下令每個主題...
對於當前的數據,也應該給以下:
+----+------------+---------------------+----------+
| id | title | update_date | theme_id |
+----+------------+---------------------+----------+
| 9 | Article 9 | 2012-07-18 15:48:28 | 1 |
| 2 | Article 2 | 2012-07-18 00:00:00 | 2 |
| 3 | Article 3 | 2012-07-19 00:00:00 | 4 |
| 7 | Article 7 | 2012-07-18 15:17:08 | 6 |
| 5 | Article 5 | 2012-07-18 00:00:00 | 1 |
| 4 | Article 4 | 2012-07-18 00:00:00 | 4 |
| 1 | Article 1 | 2012-06-29 15:29:50 | 6 |
| 10 | Article 10 | 2012-07-09 00:00:00 | 4 |
| 6 | Article 6 | 2012-06-26 10:30:51 | 6 |
| 8 | Article 8 | 2012-06-18 00:00:00 | 4 |
+----+------------+---------------------+----------+
我幾乎可以肯定是有辦法做到這一點使用單個查詢,但我不能弄明白。
你會怎麼做到這一點?
爲每個需要的案例創建單獨的查詢,並將它們與[UNION](http://dev.mysql.com/doc/refman/5.5/en/union.html)放在一起 – Laimoncijus 2012-07-19 13:41:59
@Laimoncijus:有隻有一種情況:每個主題(如果有的話)的最近文章,然後是每個主題的第二最近文章(如果有的話)等等...... – OcuS 2012-07-19 13:48:15
也許這可以幫助您 - > http://lists.mysql.com/ mysql/209784 – Panagiotis 2012-07-19 13:58:32