最接近的值和最后的值问题

时间:2011-02-10 09:05:24

标签: php mysql closest

我有一个包含字段(datecompanydata_idrank等)的数据表。因为问题与这些字段有关,这就是显示这些字段的原因只要。假设表是:

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 :(得分:0)

  ... 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

答案 1 :(得分:0)

按日期创建会话变量排序数据时,您将在my_company

中订购

订购清单后,您可以确定哪个日期属于哪个日期

将数据添加到my_company添加ID

您可以通过

找到最接近的日期

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