2014-09-29 3 views
6

Я новичок в sql, и я хотел бы создать запрос, который будет считать все мои идентификаторы статьи за каждый день. но проблема столбец даты также содержит время .. так как я могу сделать запрос для группировки просто по дате без времени?sql group по дате без времени

, например:

id|article_id|date (timestamp) 

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

Благодаря Шай

+0

'группа по дате (0) –

ответ

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; 

} 

Можно найти выход date_format здесь:
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html

+0

* Я хотел бы создать запрос, который будет считать все мои идентификаторы статьи за каждый день. * –

+0

Откуда взялся день !!! – Strawberry

0

Группировка по дате без времени => использовать следующую

ПРИМЕЧАНИЕ: myDateTime в формате времени даты

GROUP BY CAST (myDateTime AS DATE)

7

Попробуйте это:

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

это будет работать

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

замените дату на название вашей колонки –

3

Попробуйте это:

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

Я слишком поздно в гонке. Надеюсь, это может помочь кому-то в будущем.

Есть два решения для этого

  1. Вы можете взять дату в качестве опции фильтра на вашей дату отметку времени в GROUP BY следующий

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

  2. Вы можете взять псевдоним Столбец SELECT с фильтруется DATE() в GROUP BY

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

Надеюсь, что это помогло. Счастливое кодирование!

.

+0

Большое вам спасибо, я тот, кто в будущем отлично справился с этим. – user373396

Смежные вопросы