mysql - 数据库查询以根据上次抓取日期获得最低价格

标签 mysql sql database wordpress

我想根据各个经销商的最后抓取日期获得产品的最低价格。我当前的功能非常基本,它在不考虑经销商 ID 和抓取时间戳的情况下从表格中获取最低价格。

我粗略地认为我们可以 SELECT * FROM "custom_data_table" 并使用 php 处理数据。请查看附件以进一步说明。

function get_lowest_price($table_id) {
    global $wpdb;
    $table_prices = $wpdb->get_results(
        $wpdb->prepare(
            "SELECT price FROM `custom_data_table` WHERE tableid= %d"
            ,$table_id)
    );
    if (!empty($table_prices) && $table_prices !== NULL) 
        return rtrim(min($table_prices)->price, '00');
}

enter image description here

最佳答案

这里正确的查询是:

SELECT price
FROM custom_data_name cdn, (
     SELECT MAX(crawled) AS maxCrawled, resellerid
     FROM custom_data_name
     GROUP BY resellerid
) cdnFiltered
WHERE cdn.crawled = cdnFiltered.maxCrawled AND
cdn.resellerid = cdnFiltered.resellerid AND
tableid = %d;

关于mysql - 数据库查询以根据上次抓取日期获得最低价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49259334/

相关文章:

database - 所有本地修订数据库在哪里?

mysql - 数据库模式困惑(索引和约束)

mysql - .bat 文件自行运行,但在计划任务调用时不运行

sql - 聚合 SQL 数据 - MS SQL Server 2008

mysql - SQL:以不同的方式使用 6 个子句来获得相同的查询

sql - 选择 1 个表中的所有列表与另一个表中的列表匹配的位置

sql - WHERE 表达式中的 CASE 使用 IN 子句

mysql - 从多个表获取提要数据的最佳选择?

javascript - POST 请求后 Node.JS Express 404

mysql - 从同一个表中获取多条记录