2014-09-29 13 views
6

Tôi mới đến sql và tôi muốn tạo truy vấn sẽ tính tất cả id bài viết của tôi cho mỗi ngày. nhưng vấn đề cột ngày cũng chứa thời gian .. vì vậy làm thế nào tôi có thể làm cho các truy vấn để nhóm theo chỉ bởi ngày mà không có thời gian?nhóm sql theo ngày không có thời gian

ví dụ:

id|article_id|date (timestamp) 

1|22|2014-01-10 13:30:10 
1|23|2014-02-10 12:30:10 

Cảm ơn Shai

+0

'nhóm theo ngày (ngày)' –

Trả lời

1
$dayCount = 0; 
$previousDay = "";  

$query = $database->prepare(' 
SELECT DATE_FORMAT(date, '%d/%m/%Y') AS date FROM my_table ORDER BY date'); 
$query->execute(); 
while ($output = $query->fetch()) { 

    $day = $output['date']; 

    if($previousDay != $day) 
    { $dayCount ++; } 
    else { 
    echo $dayCount; 
    $dayCount = 0; 
    } 

$previousDay = $day; 

} 

thể có thể tìm thấy đầu ra DATE_FORMAT đây:
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html

+0

* Tôi muốn tạo truy vấn sẽ tính tất cả id bài viết của tôi cho mỗi ngày * –

+0

Ngày nào đến từ !!! – Strawberry

0

Để nhóm theo ngày mà không cần thời gian => sử dụng

sau

LƯU Ý: myDateTime là ở định dạng thời gian ngày

GROUP BY CAST (myDateTime AS NGÀY)

7

Cố gắng này:

select count(article_id) from YourTable group by date(date) 
0

này sẽ làm việc

SELECT 
COUNT(id),to_char(to_date('2014-01-10 13:30:10','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd') AS date_part 
FROM your_table_name 
GROUP BY to_char(to_date('2014-01-10 13:30:10','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd') 
+0

thay thế ngày bằng tên cột –

3

Hãy thử điều này:

select date(date), count(article_id) from YourTable group by date(date); 
0

Tôi đã quá muộn trong cuộc đua. Hy vọng nó có thể giúp một số trong tương lai.

Có 2 giải pháp cho này

  1. Bạn có thể mất DATE như tùy chọn bộ lọc trên timestamp ngày của bạn trong GROUP BY như sau

    SELECT COUNT(id) as article_count, DATE(date) GROUP BY DATE(date);

  2. Bạn có thể lấy bí danh của Cột SELECT có được lọc bởi DATE() trong GROUP BY

    SELECT COUNT(id) as article_count, DATE(date) published_date GROUP BY published_date;

Hy vọng điều đó sẽ hữu ích. Happy Coding!

.

+0

Cảm ơn bạn rất nhiều, tôi là người trong tương lai, điều này đã giúp hoàn hảo. – user373396

Các vấn đề liên quan