[英]mysql, select with no duplicates with count, based on maximum value of different column
我有桌子結構
|id|product_id|date|buyer_id|seler_id|
作為查詢的結果,我需要沒有重復,product_id具有最大日期並且對應於Buyer_id以及此product_id的買家數量
select t.*
from your_table t
inner join
(
select product_id, max(date) as mdate
from your_table
group by product_id
) x on x.product_id = t.product_id and x.mdate = t.date
子查詢獲取每個product_id
的最新日期。 要獲取其他列,您需要在兩個條件下加入表本身的子查詢,它與product_id
和date
匹配。
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT product_id, MAX(date) date
FROM tableName
GROUP BY product_id
) b ON a.product_id = b.product_id AND
a.date = b.date
這也可以使用相關子查詢來完成,
SELECT a.*
FROM tableName a
WHERE a.date =
(
SELECT MAX(date) date
FROM tableName b
WHERE a.product_id = b.product_id
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.