Ближайшее значение и последнее значение проблемы - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть таблица данных с полями (date, company, data_id, rank и т. Д.) .., поскольку проблема связана с этими полями, поэтому отображаются только эти поля. Предположим, таблица:

data_id   |   company  |    date      |   rank

1         |   google   |    23/10/2010|   1

2         |   yahoo    |    23/10/2010|   4

3         |   msn      |    23/10/2010|   8

4         |   google   |    27/10/2010|   3

5         |   yahoo    |    27/10/2010|   1

6         |   msn      |    27/10/2010|   6

7         |   google   |    29/10/2010|   1

8         |   yahoo    |    29/10/2010|   4

9         |   msn      |    29/10/2010|   3

... и т. Д.

ЗАДАЧА 1:

есть много пользователей - предположим, есть user1, user2, user3. У всех есть [my_company] в сессии.

Теперь я должен отображать только те записи, которые сделаны последними ( может быть сделан любым пользователем на любую дату ) в соответствии с компанией.

Пример: my_company [user1-yahoo, user2-google, user3-msn]

Пользователь [my_company] отображает только значение своей компании, больше ничего ... но только значение, введенное последним (дата - здесь 29/10/2010).

Данные добавляются для любой компании любым пользователем в любой день. Теперь, когда этот процесс будет продолжаться, записи будут расти. КАК НАЙТИ, КОТОРАЯ ПОСЛЕДНЯЯ (определенная для компании)?

ПРОБЛЕМА 2:

как найти ближайшую дату к определенной дате?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2011

когда вы создаете переменную сеанса для сортировки данных по дате, чтобы у вас был порядок в my_company

после того, как вы упорядочили список, вы можете определить, какая дата принадлежит какой дате

или

при добавлении данных в my_company добавить идентификатор

ближайшую дату можно найти по

SELECT date FROM table ORDER BY abs(now() - date) LIMIT 1

http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_abs

0 голосов
/ 10 февраля 2011
  ... where `company_name` = 'companyName' order by `date` desc limit 1

и

 ... between mydate - INTERVAL and mydate + INTERVAL

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

...