You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP和MySQLi按今日浏览量排序展示最受欢迎商品?

筛选今日商品并按浏览量降序排序的实现方案

嘿,这个需求其实很常见,咱们可以分几步来实现,不管你用SQL直接操作数据库,还是用Python这类工具处理数据,都有对应的方案:

一、用SQL直接操作数据库(最常用的场景)

假设你的数据表叫product_views,商品的标识字段是product_name(如果有唯一ID比如product_id,用ID分组更准确,避免同名商品混淆),可以用下面的SQL语句:

SELECT 
  product_name,
  COUNT(*) AS today_view_count
FROM product_views
WHERE DATE(date_viewed) = CURDATE()
GROUP BY product_name
ORDER BY today_view_count DESC;

代码解释:

  • WHERE 子句:DATE(date_viewed)会提取日期部分(忽略时分秒),CURDATE()返回当前系统日期,这样就筛选出了今日所有的浏览记录。
  • GROUP BY:把同一个商品的所有今日浏览记录归为一组。
  • COUNT(*): 统计每组的记录数,也就是该商品的今日浏览量,用today_view_count作为别名方便后续排序。
  • ORDER BY ... DESC: 按浏览量从高到低排序,DESC表示降序。

不同数据库的小差异:

  • 如果用PostgreSQL,把DATE(date_viewed) = CURDATE()改成date_viewed::date = CURRENT_DATE
  • 如果用SQL Server,改成CAST(date_viewed AS DATE) = CAST(GETDATE() AS DATE)
  • 如果用Oracle,改成TRUNC(date_viewed) = TRUNC(SYSDATE)

二、用Python Pandas处理数据(适合做数据分析的场景)

如果你的数据已经导出到本地,用Pandas处理也很方便:

import pandas as pd
from datetime import datetime

# 先把date_viewed列转换成日期时间类型(如果还不是的话)
df['date_viewed'] = pd.to_datetime(df['date_viewed'])

# 获取今日的日期(只取日期部分,忽略时间)
today_date = datetime.today().date()

# 筛选出今日的浏览记录
today_records = df[df['date_viewed'].dt.date == today_date]

# 按商品分组统计浏览量,然后降序排序
result_df = today_records.groupby('product_name').size().reset_index(name='today_view_count')
result_df = result_df.sort_values(by='today_view_count', ascending=False)

# 打印结果或者导出
print(result_df)
# result_df.to_csv('today_product_views.csv', index=False)

关键步骤说明:

  • 转换date_viewed为datetime类型是为了方便提取日期部分。
  • df['date_viewed'].dt.date == today_date精准匹配今日的记录。
  • groupby('product_name').size()统计每个商品的浏览次数,reset_index把结果转换成标准的DataFrame格式。
  • sort_values实现降序排序。

几个注意点:

  • 确保date_viewed字段确实是日期时间类型,如果是字符串的话,要先做格式转换,不然筛选会出错。
  • 如果商品有唯一ID(比如product_id),优先用ID分组,避免不同商品同名导致统计错误。
  • 如果你的“今日”是指特定时区的今日(比如UTC+8),要注意数据库或Python的时区设置,避免因为时区差筛选错误。

内容的提问来源于stack exchange,提问作者Sejoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:06:55