PHP和MYSQLi从今天起最受欢迎的商品订购?

时间:2018-05-15 19:11:50

标签: php mysqli

我的表格中有数据如下:

stuff    stuff    stuff    stuff    date_viewed
whtever  whtever  whtever  whtever  2018-05-15 20:58:31
whtever  whtever  whtever  whtever  2018-05-13 15:32:22
whtever  whtever  whtever  whtever  2018-05-15 23:58:44
whtever  whtever  whtever  whtever  2018-05-05 13:21:32
whtever  whtever  whtever  whtever  2018-05-12 13:21:32
whtever  whtever  whtever  whtever  2018-05-14 12:21:32
whtever  whtever  whtever  whtever  #more dates from today and other days...

我需要从今天开始订购商品,但大多数商品都需要订购商品,例如:

项目(今日观点20)

第2项(今日意见18)

第3项(今日意见14)

等......

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

为了简化,我假设该表名为table,并且只有两列stuff(某种ID或字符串或您拥有的任何内容)和包含date_viewed列的列观点的日期和时间。

在这种情况下,您的查询可能如下所示:

SELECT stuff, DATE(date_viewed), COUNT(*) AS views FROM `table`
GROUP BY stuff, DATE(date_viewed)
ORDER BY views DESC

查询在做什么? *它选择stuff以及date_viewed的{​​{3}},以及由date part计算并存储在别名(AS)名称下的行数来自views的{​​{1}}。 *结果按tablestuff进行分组,即所有具有相同项目(“填充”)和日期的条目都放入一个结果行,date保留该数字原始行。 *最后,结果按降序排列(views)的{ORDER BY个数量的视图(views,这是COUNT(*)的别名)排序,以便行大多数观点都是第一位的。