給定類別名稱,我可以選擇所需的條目數。 例如 - SELECT * FROM products WHERE Category = Taxi LIMIT 1, 2
。 這完全給了我2分類='出租車'的條目。MySQL LIMIT多個類別
現在,給定一個類別名稱數組,我需要執行一個類似的SQL查詢,在那裏我將能夠獲取每個類別的所需數量的條目。
要求 - 我需要提取['Taxi','Groceries','Delivery',...'中每個類別的2(LIMIT 1,2行)的所有數據。 。 。 。 。 。 。 。 。 。 。 ],使用單個SQL查詢。可能嗎?如果是,請回答。
我試過 - SELECT * FROM products WHERE Category IN ('Taxi', 'Groceries', 'Delivery', . . . . . . . . . . .) LIMIT 1, 2
,但它給出了與上面相同的結果。
這是產品表的樣子 -
+----------+----------+------+
| Category | Items | Count|
+----------+----------+------+
| Taxi | Sedan | 32 |
| Delivery | Food | 34 |
| Delivery | Package | 42 |
| Meals | Sandwitch| 29 |
| Groceries| Butter | 36 |
| Taxi | SUV | 39 |
| Groceries| Milk | 39 |
+----------+----------+------+
預期的O/P -
+----------+----------+------+
| Category | Items | Count|
+----------+----------+------+
| Taxi | Sedan | 32 |
| Delivery | Food | 34 |
| Delivery | Package | 42 |
| Groceries| Butter | 36 |
| Taxi | SUV | 39 |
| Groceries| Milk | 39 |
+----------+----------+------+
行的次序無關緊要。
實現這一點的最簡單方法是組合幾個單獨SELECT語句的結果的UNION。 – CBroe
@CBroe,但不會使它成爲一個錯誤的查詢?在類別數組中有100個元素的情況下,UNION會顯着降低處理速度。 –
你到底想要在這裏實現什麼?你在這裏使用了「分頁」這個詞,但是到目前爲止,我看不出與它有多大關係。分頁甚至沒有什麼意義,除非您先指定訂單。 – CBroe