我有一个跟踪用户点击的数据库。如果有人点击同一件事两次,它可能会在数据库中产生具有相同时间戳的重复条目。
有没有办法将我的查询修改为仅返回具有唯一时间戳而不是重复项的结果。
$stmt1 = $dbConn1->prepare("
SELECT count(*)
FROM asset_lookup
");
答案 0 :(得分:1)
我相信您正在寻找distinct关键字。阅读这个帖子,它可以帮助你。
答案 1 :(得分:1)
注意:
product
的加入与INNER
加入完全等效,因为您在product.product_type_id = 2
子句中使用了WHERE
。除此之外,是否有必要计算product
表中不存在且仅在asset
表中(如果有)的产品的点击次数?
LEFT
与[{1}}的联接与event
联接完全相同,因为您在INNER
子句中使用event.activation_date
。
加入WHERE
似乎完全没用。
tracking_product_lookup
可能会使用外连接给出错误的结果。 COUNT(*)
计算中间结果集中的行,外部联接在某些列中生成具有Null的行(例如,根本没有点击的产品,仍会显示计数为1)。
COUNT(*)
,而不是COUNT(DISTINCT column)
。查询将写为:
COUNT(*)