從MySQL 中的多個類別中選擇前3 行
從表中的每個類別中選擇前3 行可能具有挑戰性。如最初嘗試所述,一種利用視圖和子查詢的方法可能會傳回不正確的結果。
更有效的方法是使用分析函數,而 MySQL 本身並不支援函數。但是,可以使用變數來模擬這些函數。操作方法如下:
此查詢使用 JOIN 操作初始化變數 @rownum 和 @category。然後,它根據每一行的類別為其分配排名,如果類別發生變化,排名就會遞增。
最後,查詢僅選擇排名為 3 或更低的行。請注意,您可能需要修改 SELECT x.* 子句以僅包含所需的欄位。
以上是如何在沒有分析函數的情況下從 MySQL 中選擇每個類別的前 3 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!