你好,我有表“os_txn.pay_link”,其中有许多列。我想做的是,我想通过查看“merchant_id”列来计算当天的行数。例如,我想查找的输出是,今天“merchant_id”中有一个有“8”行。因此,我想知道“merchant_id”列当天的行数。我想我应该用count(*)来查看select语句,但是语法上不成功。所以我愿意接受你的建议,谢谢。
bf1o4zei1#
如果我没理解错的话,一个简单的选择就是
select merchant_id, count(*) from os_txn.pay_link where date_column = trunc(sysdate) group by merchant_id;
假设date_column只包含日期(即,对于今天,2022年10月8日,这是它的值-没有小时、分钟或秒)。如果日期列包含时间组件,同样-一个简单的选项-将是
date_column
select merchant_id, count(*) from os_txn.pay_link where trunc(date_column) = trunc(sysdate) group by merchant_id;
如果date_column上有索引,那么这样的代码就不会使用它(除非它是基于函数的索引),所以您更愿意修改它以
where date_column >= trunc(sysdate) and date_column < trunc(sysdate + 1)
如果不是这样,请发布样本数据和预期结果。
1条答案
按热度按时间bf1o4zei1#
如果我没理解错的话,一个简单的选择就是
假设
date_column
只包含日期(即,对于今天,2022年10月8日,这是它的值-没有小时、分钟或秒)。如果日期列包含时间组件,同样-一个简单的选项-将是
如果
date_column
上有索引,那么这样的代码就不会使用它(除非它是基于函数的索引),所以您更愿意修改它以如果不是这样,请发布样本数据和预期结果。