在MySQL 中選擇每個類別的前幾行
要從表中的每個類別中檢索有限數量的行,您可以使用分析函數。然而,MySQL 並不會直接提供這些功能。不過,可以使用變數來模擬它們。
模擬分析函數
以下MySQL 查詢模擬分析函數的功能,以選擇每個類別的前3 行:
<code class="mysql">SELECT x.* FROM ( SELECT t.*, CASE WHEN @category != t.category THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank, @category := t.category AS var_category FROM TBL_ARTIKUJT t JOIN (SELECT @rownum := NULL, @category := '') r ORDER BY t.category ) x WHERE x.rank <= 3</code>
說明
此方法可讓您在不依賴 MySQL 不支援的分析函數的情況下實現所需的功能。
以上是如何在不使用分析函數的情況下有效率地選擇 MySQL 中每個類別的前幾行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!