Mysql
每個匹配的 ids(value) 選擇一項
我有一個 mysql 表(旅行),其中包含有關汽車的記錄。我希望查詢數據並為每個 carId 返回一項。但是我做不到。下面是獲取 50 條記錄的查詢範例,其中也應該有 50 個 carId
SELECT * FROM `trips` WHERE ( carId = 147 OR carId = 62 OR carId = 59 OR carId = 42) LIMIT 50
下面是一個返回 8 條記錄的範例。如何返回限制 8 條記錄,但每輛車返回一條記錄。這裡的例子
SELECT * FROM `trips` WHERE carId in (147, 62, 59, 42) GROUP by carId;
刪除LIMIT並確保每個 carId 獲得一行。如果在 ( ) 中放入 20 個 id,您將獲得 20 個獨占行。
但這給出了一個粗略的結果,因為它可能會選擇與 carId 匹配的任何一行。您可以添加一些條件來獲取每個carId的任何首選行。