المجموعة حسب وعرض الإدخالات تحت التاريخ
سؤال
إليك البيانات الخاصة بي:
id date
1 2009-01-01 10:15:23
2 2009-01-01 13:21:29
3 2009-01-02 01:03:13
4 2009-01-03 12:20:19
5 2009-01-03 13:01:06
ما أود القيام به هو مجموعة كل تاريخ وثم قائمة أرقام معرف أسفل كل تاريخ. يجب أن يكون الحصول على قيم التاريخ واضحة ومن ثم ركوب الدراجات من خلال لهم للحصول على الإدخالات التي تقع على التاريخ؟ هذا هو كفاءة؟
وحتى الانتاج بلدي ستبدو:
2009-01-01
1
2
2009-01-02
3
2009-01-03
4
5
المحلول
$query = "SELECT DATE(date) as mydate, id FROM your_data_table ORDER BY mydate, id";
$result = $pdo->query($query);
$oldDate = false;
while ( list($date, $id) = $result->fetch(PDO::FETCH_NUM) ) {
if ( $oldDate != $date ) {
echo "$date\n$id\n";
$oldDate = $date;
} else {
echo "$id\n";
}
}
وبدلا من أن يفعل ذلك في العديد من الاستفسارات، أنت فقط جلب جميع البيانات في وقت واحد. إذا كنت بحاجة فقط بعض التواريخ ثم عليك فقط وضع بند WHERE
قبل ORDER BY
.
نصائح أخرى
ومواعيد المخزنة لديك لديهم معلومات حول الوقت (نوع العمود هو DATETIME أو الطابع الزمني)، وذلك للقيام مجموعة من، تحتاج إلى استخراج جزء التاريخ فقط زمنية، يمكنك استخدام في DATE () الدالة
لا تنتمي إلى StackOverflow