簡體   English   中英

從表格中獲取最新的兩個不同位置

[英]Get latest two distinct location from table

下面是我的桌子,

在此處輸入圖片說明

從表名WHERE user_id ='8'中選擇DISTINCT(availability_location)作為位置ORDER BY Availability_date DESC LIMIT 2

我得到以下結果

在此處輸入圖片說明

我想要以下結果:

2016-05-27浦那

2016-05-20伯班克

即唯一的availability_location以及最近的兩個條目。

您必須為此使用GROUP BY

SELECT availability_location as location,
       MAX(availability_date) AS max_date
FROM table_name 
WHERE user_id = '8' 
GROUP BY location
ORDER BY max_date DESC LIMIT 2

您可以使用GROUP BY並按最大日期排序:

 SELECT t.availability_location
 FROM table_name t 
 WHERE user_id = '8'
 GROUP BY t.availability_location 
 ORDER BY max(s.availability_date) DESC LIMIT 2

輸出:

availability_location
---------------------
pune
Burbank

編輯:下次,您應該提到您希望它區分大小寫。 您可以嘗試這樣做:

 SELECT t.availability_location 
 FROM table_name t 
 INNER JOIN(SELECT s.availability_location , max(s.availability_date) as max_d
            FROM table_name s
            WHERE s.user_id = '8'
            GROUP BY s.availability_location) t2
  ON(t2.availability_location = t.availability_location AND
     t2.max_d = t.availability_date)
 ORDER BY t.availability_date DESC LIMIT 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM