SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.03.2012 15:56:09

Sandr
Участник
Зарегистрирован: 07.03.2012
Сообщений: 12

MAX записей за последние сутки

Всем привет)
Есть таблица вида:

CREATE TABLE `feed` (
  `id` int(11) NOT NULL auto_increment,
  `id_people` int(11) NOT NULL,
  `time` int(11) NOT NULL,
  `msg` varchar(1024) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Подскажите, как вытащить id_people, у которого больше записей за сутки?

Неактивен

 

#2 07.03.2012 16:37:09

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: MAX записей за последние сутки

Попробуйте SELECT id_people FROM feed GROUP BY id_people ORDER BY count(*) desc LIMIT 1;

Отредактированно deadka (07.03.2012 16:40:48)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 07.03.2012 17:03:13

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: MAX записей за последние сутки

Более точный вариант:

За сегодня

SELECT id_people,COUNT(user_id_insite) cnt FROM feed
WHERE `time`BETWEEN UNIX_TIMESTAMP(CURRENT_DATE()) AND UNIX_TIMESTAMP(CURRENT_DATE()+INTERVAL 1 DAY)
GROUP BY id_people ORDER BY cnt DESC LIMIT 1


За последние 24 часа
SELECT id_people,COUNT(user_id_insite) cnt FROM feed
WHERE `time`BETWEEN UNIX_TIMESTAMP(NOW()-INTERVAL 24 HOUR) AND UNIX_TIMESTAMP(NOW)
GROUP BY id_people ORDER BY cnt DESC LIMIT 1

Неактивен

 

#4 07.03.2012 17:05:58

Sandr
Участник
Зарегистрирован: 07.03.2012
Сообщений: 12

Re: MAX записей за последние сутки

deadka написал:

Попробуйте SELECT id_people FROM feed GROUP BY id_people ORDER BY count(*) desc LIMIT 1;

Спасибо))

Неактивен

 

#5 07.03.2012 17:07:11

Sandr
Участник
Зарегистрирован: 07.03.2012
Сообщений: 12

Re: MAX записей за последние сутки

evgeny написал:

Более точный вариант:

За сегодня

SELECT id_people,COUNT(user_id_insite) cnt FROM feed
WHERE `time`BETWEEN UNIX_TIMESTAMP(CURRENT_DATE()) AND UNIX_TIMESTAMP(CURRENT_DATE()+INTERVAL 1 DAY)
GROUP BY id_people ORDER BY cnt DESC LIMIT 1


За последние 24 часа
SELECT id_people,COUNT(user_id_insite) cnt FROM feed
WHERE `time`BETWEEN UNIX_TIMESTAMP(NOW()-INTERVAL 24 HOUR) AND UNIX_TIMESTAMP(NOW)
GROUP BY id_people ORDER BY cnt DESC LIMIT 1

И вам так же спасибо))

Неактивен

 

#6 07.03.2012 17:07:17

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: MAX записей за последние сутки

Женя, а где находится user_id_insite??

Что касается даты - то в таблице, приведенной пользователем поля date я не нашёл. Вопрос топикстартеру - в каком формате хранится дата/время? Я исходил из того, что все данные находятся "в одних сутках".


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#7 07.03.2012 17:08:49

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: MAX записей за последние сутки

На здоровье ). Однако на вопрос-то ответьте wink. И приведите примеры записей из таблицы.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#8 07.03.2012 18:03:09

Sandr
Участник
Зарегистрирован: 07.03.2012
Сообщений: 12

Re: MAX записей за последние сутки

deadka, "Вопрос топикстартеру - в каком формате хранится дата/время?", данные записываются с помощью пхпшной функции time().

Неактивен

 

#9 07.03.2012 18:05:06

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: MAX записей за последние сутки

То есть timestamp... Тогда лучше у поля в базе тоже тип timestamp поставить. В таком случае используйте решение от evgeny, моё не учитывало timestamp.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#10 07.03.2012 23:58:53

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: MAX записей за последние сутки

deadka написал:

Женя, а где находится user_id_insite??

Что касается даты - то в таблице, приведенной пользователем поля date я не нашёл. Вопрос топикстартеру - в каком формате хранится дата/время? Я исходил из того, что все данные находятся "в одних сутках".

Ой ! Это я по ошибке часть из своего запроса скопировал ... smile
А насчёт времени, я так понял что всё в unix_time так как `time` int(11) NOT NULL,

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson