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

如何按当日分组统计行数?os_txn.pay_link表merchant_id统计

按当日统计各merchant_id的数据行数解决方案

要实现按当日统计每个merchant_id对应的数据行数,核心是结合筛选当日数据、分组merchant_id和COUNT(*)统计行数三个操作,以下是不同数据库环境下的可行SQL语句:

MySQL/MariaDB

SELECT merchant_id, COUNT(*) AS daily_count
FROM os_txn.pay_link
-- 替换create_time为表中实际存储交易时间的字段名
WHERE create_time >= CURDATE() 
  AND create_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
GROUP BY merchant_id;

注:用范围查询而非DATE(create_time) = CURDATE()是为了避免函数导致索引失效,提升查询性能;如果不需要考虑性能,也可以使用后者。

PostgreSQL

SELECT merchant_id, COUNT(*) AS daily_count
FROM os_txn.pay_link
-- 替换created_at为表中实际存储交易时间的字段名
WHERE created_at >= CURRENT_DATE 
  AND created_at < CURRENT_DATE + INTERVAL '1 day'
GROUP BY merchant_id;

SQL Server

SELECT merchant_id, COUNT(*) AS daily_count
FROM os_txn.pay_link
-- 替换created_time为表中实际存储交易时间的字段名
WHERE created_time >= CAST(GETDATE() AS DATE) 
  AND created_time < DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
GROUP BY merchant_id;

关键注意事项

  • 必须将语句中的时间字段(如create_time、created_at)替换为你表中实际记录交易时间的字段。
  • 若需统计UTC时间的当日数据,需调整日期函数:比如MySQL用UTC_DATE(),PostgreSQL用CURRENT_DATE AT TIME ZONE 'UTC'。
  • GROUP BY子句必须包含SELECT中除聚合函数(COUNT(*))外的所有字段,否则会触发语法错误,这是此类查询的常见问题点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:35:16