[英]How can I search this on MySQL?
Cron每天都会在data_log.table
上插入所有硬币的日志。
我使用来自coinmarketcap的API。
API文档: https : //coinmarketcap.com/api
我有很多重复的加密货币名称。
面临的挑战是,在2018年2月11日至2018年2月18日之间进行搜索,以找到此时期内市值或交易量三倍的代币。
我想用mySQL上的一个表达式搜索所有硬币。
我的API咨询: http : //127.0.0.1/db.php?json=data_log&startdate=2018-02-12&finaldate=2018-02-17
我怎样才能做到这一点?
我不想搜索一个特定的硬币,我想搜索此期间的所有硬币,它们的价值是您的三倍。
结构如下:
`data_log`(`id`, `moeda`, `moeda_simbolo`, `market_cap`, `volume`,
`data_cadastro`, `percent_change_1h`, `percent_change_24h`,
`percent_change_7d`, `price_usd`)
VALUES (1, 'Bitcoin', 'BTC', '134001640106', '6628000000.0',
'2018-02-11', '-1.07', '-10.47',
'-11.75', '7948.84')
存储示例:
(1313, 'Kubera Coin', 'KBR', '1807270.0', '155830.0', '2018-02-11', '-2.27', '-16.9', '-7.76', '0.0157946'),
(1314, 'Renos', 'RNS', '1788409.0', '2235.62', '2018-02-11', '2.0', '-3.49', '-4.48', '0.0536157'),
(1315, 'FujiCoin', 'FJC', '1786980.0', '2300.57', '2018-02-11', '4.67', '-2.84', '-23.1', '0.00137009'),
(1316, 'Bankcoin', 'B@', '1780694.0', '2679.29', '2018-02-11', '3.32', '348.87', '72.86', '0.173021'),
您在日志中的日期没有一个小时。 如果您想增加细节,那么您将遇到问题。
要实现所需的功能,必须对给定日期范围内的值求和,并将其与期间开始时的值进行比较。
SELECT * FROM (SELECT moeda, sum(market_cap) as sum_cap, sum(volume) AS sum_volume FROM data_log WHERE data_cadastro >= '2018-02-11' AND data_cadastro <= '2018-02-18' GROUP BY moeda) AS sum_log LEFT JOIN (SELECT * FROM data_log WHERE data_cadastro = '2018-02-11') AS dl ON dl.moeda = sum_log.moeda WHERE (sum_cap - market_cap) / 3 > market_cap OR (sum_volume - volume) / 3 > volume;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.