Veritabanı ikinci ayda List tarih

5 Cevap php

Hey, ben veritabanından benim ekledi tarihleri ​​listelemek ve katma aya bölmek som yardıma ihtiyacım var.

Ben bunu nasıl hiçbir ipucu var ... Soe birisi bana bir örnek gösterebilir misiniz, ya da nasıl belki bazı dersler?

Thx

5 Cevap

Bu satırlar boyunca bir şey, belki de?

SELECT * FROM table GROUP BY MONTH(dateColumn)

SELECT * FROM table WHERE MONTH(dateColumn) = 9

Tarih ve A mutlaka okunması referans MySQL işlemefonksiyonları saati:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

Eğer MySQL MONTH() Fonksiyon arıyorsunuz?

  Query: SELECT MONTH(NOW());
 Output: 11

Değil tamamen ne demek emin ama buraya ...

Aşağıda örnek bir test koleksiyonu (assumably toplama veritabanından alınan) ve ay ve yıl grupları bunları oluşturur ve sonra sonucu görüntüler. Bu Linq ve kolayca bazı POCO sınıfları ile yerini alabilecek anonim nesneler kullanır ...

    Sub Main()

    Dim ls As New List(Of Object)
    Dim lsGroup As New List(Of Object)
    Dim ran As New Random(Now.Millisecond)

    '' build a sample collection
    For x As Integer = 1 To 100
        ls.Add(New With {.ID = x, .DateAdded = Now.AddMinutes(-(ran.Next(1, 100000)))})
    Next

    '' now group them into years and months
    For Each item In ls
        Dim currentItem As Object = lsGroup.Where(Function(o) o.Year = item.DateAdded.Year And o.Month = item.DateAdded.Month).SingleOrDefault()
        If currentItem Is Nothing Then
            '' create
            Dim var = New With {.Year = item.DateAdded.Year, .Month = item.DateAdded.Month, .ItemCollection = New List(Of Object)}
            var.ItemCollection.Add(item)
            lsGroup.Add(var)
        Else
            '' add
            currentItem.ItemCollection.Add(item)
        End If
    Next

    '' display the results
    For Each group In lsGroup
        Console.WriteLine(group.Year & " - " & MonthName(group.Month))
        For Each item In group.ItemCollection
            Console.WriteLine(" > " & item.ID & " - " & item.DateAdded.ToString())
        Next
        Console.WriteLine()
    Next

    Console.ReadLine()

End Sub

İşte ben "t" denilen bir zaman damgası veya tarih kaleminde bulunuyor ay gerektiğinde ben yaparım.

TIMESTAMP (DATE_FORMAT (t, '% y-% m-01'))

Bu, bu ayın ilk gününde gece yarısını temsil eden başka bir zaman damgası döndürür.

De hafta boyunca çalışır.

TIMESTAMP (FROM_DAYS (TO_DAYS (t)-MOD (TO_DAYS (t) -1, 7)))

Bu karanlık sihir verilen zaman damgası önceki Pazar günü gece yarısı temsil eden bir zaman damgası döndürür.