我對Mysql的返回結果的形式與兩列的選擇SQL查詢選擇:從選擇結果
number date
1 date1
1 date2
2 date3
.
.
你如何我從選擇查詢選擇,只保留最近的日期爲每個數字。
我在處理查詢結果時遇到問題。
我對Mysql的返回結果的形式與兩列的選擇SQL查詢選擇:從選擇結果
number date
1 date1
1 date2
2 date3
.
.
你如何我從選擇查詢選擇,只保留最近的日期爲每個數字。
我在處理查詢結果時遇到問題。
您可以將您的查詢用作派生表。既然你沒有提供查詢,讓我們用這個例子:
SELECT Name, Date
FROM YourQuery
現在採取MAX(Date)
和GROUP BY Name
與您的查詢的派生表:
SELECT MAX(Date), Name
FROM (
SELECT Name, Date
FROM YourQuery
) a
GROUP BY Name
因爲他說這些結果是查詢的結果...因爲我們看不到查詢,我假設它不是從單個表中直接拉。 –
對不起,我沒有仔細閱讀!派生表是要走的路! – jarlh
如果你只是想顯示的號碼和日期,你可以通過做一個常規組返回的選擇,它應該做的伎倆:
select
a.number,
max(a.date) from
(select number, date from table_name) a
group by a.number
如果您有其他列,你想顯示該行與最近的日期,這應該做的伎倆:
select
a.number,
a.lastentrytime,
b.some_other_column
from (
select number,
max(date) recent_date
from table_name group by number) a
inner join table_name b on a.number= b.number and a.recent_date= b.date
;with cte as (
select number, row_number() over(order by date desc) as rn from thistable)
select number from cte where rn=1
您可以使用此查詢來獲取最新記錄。
@ e4c5當你這樣做時,你不能保證獲得最新的結果,你只會顯示一個結果總數爲 – gabe3886
@ e4c5,沒有'DESC'? – jarlh
今天提示:做一個GROUP BY,使用MAX()來獲取每個號碼的最新日期。 – jarlh