【问题标题】:Mysql sum and max combination with yesterday dataMysql sum 和 max 结合昨天的数据
【发布时间】:2014-01-02 19:21:43
【问题描述】:

大家好,这可能是一个愚蠢的问题,但无法弄清楚。我有一张包含这些数据的表格:

+--------------+--------+--------+---------------+-------------+
| company_code | ltp    | ycp    | datetime      | total_value |
+--------------+--------+--------+---------------+-------------+
| ABC          | 291.00 | 342.00 | 9/25/13 10:30 |    12540    |   
| ABC          | 344.00 | 342.00 | 9/25/13 10:31 |    15400    |
+--------------+--------+--------+---------------+-------------+

如您所见,数据每分钟都在更新,我需要找到 (ltp-ycp)/ycp 的价格变化。所以我写了这个查询:

SELECT
  company_code, max(ltp), ycp, sum((max(ltp) - ycp)/ycp) as change  
FROM eod_stock 
GRPUP BY company_code 
ORDER BY change DESC; 

但这会出错

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to    your MySQL server version for the right syntax to use near 'change  FROM eod_stock GRPUP BY company_code ORDER BY change DESC'

找不到解决方案,因为我需要最后的交易价格 - 昨天的价格(ycp),但不知道如何使用 sum 和 max。

另一个问题我需要在表格中找到最后一天的总交易平均值,显示 2013 年 9 月 25 日,但我需要最后插入 2013 年 9 月 24 日的总交易

我用过 select max(total_trade), datetime - 从 eod_stock 限制 10 的间隔;也得到错误。谁能想到如何摆脱这个错误?

【问题讨论】:

  • 更改是保留字使用另一个别名或使用反引号。
  • 我用了 chnge 甚至没有运气。
  • 每天的ycp都一样吗?

标签: php mysql


【解决方案1】:

你可以试试下面的

    SELECT
     `c_code`, `m_lcp`, `ycp`,sum(`change`)
    from
    (
     select `company_code` as `c_code`, max(`ltp`) as `m_lcp`, `ycp`,(max(`ltp`) -   `ycp`)/`ycp` as `change`  from `eod_stock` 
    group by `company_code`
    ) `e1`
    order by `change` DESC; 

【讨论】:

  • ERROR 1111 (HY000): 组函数使用无效你能说出原因吗?
  • 我已经编辑了之前的查询,你正在尝试 sum 和 max 并创建问题,上面的新查询现在应该可以工作了。
【解决方案2】:

试试这个:

SELECT
  `company_code`, max(`ltp`), `ycp`, (max(`ltp`) - `ycp`)/`ycp`) as `change`  
FROM `eod_stock` 
GROUP BY `company_code` 
ORDER BY `change` DESC; 

你把关键字GROUP写错了

编辑:不需要 SUM() ;)

【讨论】:

  • 得到这个错误 ERROR 1111 (HY000): Invalid use of group function
  • 抱歉我的错误,已修复:)
猜你喜欢
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 2011-01-05
  • 1970-01-01
  • 2012-10-22
  • 2013-05-07
相关资源
最近更新 更多