php - 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)
Item3(今日浏览量14)
很快...
我怎样才能做到这一点?
解决方案
为简化起见,我假设该表已命名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
_ _ _ _ _ _ * 然后将结果按和分组,即具有相同项目(“stuff”)和日期的所有条目被放入一个结果行并保留原始行数。* 最后,结果按 ( ) 视图数 ( ,这是) 的别名以降序 ( ) 排序,因此具有最多视图的行排在最前面。date_viewed
AS
views
table
stuff
date
views
ORDER BY
views
COUNT(*)
DESC
推荐阅读
- javascript - 如何使用 JavaScript 和/或正则表达式提取任何 url 路径的每个项目?
- wordpress - 如何指定自定义列和现有列的顺序
- php - 无法检索在 Yii 1.1 上加入的两个同名列
- pact - 协议提供者验证失败:对于输入字符串:“\null”
- gradle - 在 Gradle 中,是否有支持静态方法获取项目实例的方式?
- c - C中的文件,读取一些整数并放入数组
- go - 指向具有略微不同值的结构的指针的重复切片
- reactjs - 在我的网络应用程序中,我应该何时选择进行 API 调用,而不是在本地存储数据?
- aws-cdk - aws cdk - 从两个不同的堆栈管理相同的资源(dynamoDB)?
- google-sheets - 删除然后向单元格添加值的最佳方法是什么?