2017-03-24 8 views
0

Ich habe Daten in einer Tabelle, wo ich die Datensätze für jeden Tag haben kann oder nicht. Ich muss die letzten 6 Wochen Daten bekommen, wo ich nur letzte Aufzeichnung in jeder Woche benötige.Wie bekomme ich den letzten Datensatz in jeder Woche in Mysql

Angenommen, heute ist 24., ich muss die letzte Aufzeichnung vom 18. bis 24. und 11. bis 17. usw. bis 6 Wochen bekommen.

Diese Abfrage gibt alle 6 Wochen Datensätze, aber ich brauche letzte Aufnahme in jeder Woche.

SELECT snap.created_at 
FROM snapshots snap 
WHERE snap.created_at > DATE_SUB(NOW(), INTERVAL 6 WEEK) 
ORDER BY created_at DESC; 

Beispiel:

CREATED_AT

2017-03-23 ​​11:20:30

2017-03-23 ​​10:40:21

2017-03- 21 09:58:42

2017-03-03 15:02:20

2017-03-02 14:41:49

2017-02-23 10:59:26

2017-02-22 15:59:53

2017-02-21 11 : 08: 57

2017-02-21 10:43:24

2017-02-18 01:37:33

2017-02-11 01:38:29

Ausgang:

(1. Woche) 2017.02.11 - 2017-02-17 = 2017-02-11 01:38:29

(2. Woche) 2017.02.18 - 2017-02-24 = 2017-02-23 10:59:26

(3. Woche) 2017.02.25 - 2017-03-03 = 2017-03-03 15:02:20

(4. Woche) 2017.03.04 - 2017-03-10 = 2017-03-03 15:02:20 (wie es keine Datensätze in dieser Woche gibt, müssen Sie den neuesten Datensatz aus der letzten Woche anzeigen)

(5. Woche) 2017-03-11 - 2017-03-17 = 2017-03-03 15: 02.20 (da es keine Aufzeichnungen in dieser Woche sind, benötigen Sie die aktuelle Datensatz aus der letzten Woche zeigen)

(6. Woche) 2017.03.18 - 2017.03.24 = 2017-03- 23 11:20:30

+0

Sie meinen subtrac t Datum von jetzt bis 6, das wäre der Anfang der ersten Woche, die sich rückwärts bewegt? Geben Sie hier nur ein Beispiel und das erwartete Ergebnis ein –

+0

Arbeiten Sie MySQL oder SQL? –

+0

schreibe eine Select-Abfrage mit zwischen Bedingung wie Select * aus Tabelle wo Col_Date zwischen DATEDIFF (GETDATE() -6, 'DAYS') UND GETDATE() –

Antwort

0

Versuchen Sie, diese

select datepart(wk, datecolumn), max(datecolumn) from yourtable 
where (datediff(wk,datecolumn,getdate())) < 6 
group by datepart(wk, datecolumn) 
order by 2 desc 
Verwandte Themen