I have a problem. In my database I have the following table:
| openTime      | market | coin | period |
|---------------|--------|------|--------|
| 1635768000000 | USDT   | ETH  | 1h     |
| 1635764400000 | USDT   | ETH  | 1h     |
| 1635760800000 | USDT   | ETH  | 1h     |
| 1635768000000 | USDT   | ETH  | 2h     |
| 1635760800000 | USDT   | ETH  | 2h     |
| 1635753600000 | USDT   | ETH  | 2h     |
| 1635768000000 | USDT   | BTC  | 1h     |
| 1635764400000 | USDT   | BTC  | 1h     |
Now what I want to query is the last openTime of every market-coin-period combination where the market and coin are given. In my case I want to find the last row of every USDT and ETH combination, so my result would be:
| openTime      | market | coin | period |
|---------------|--------|------|--------|
| 1635768000000 | USDT   | ETH  | 1h     |
| 1635768000000 | USDT   | ETH  | 2h     |
I already tried queries like this:
SELECT * FROM (SELECT * FROM Candlestick WHERE market = 'USDT' AND coin = 'ETH') a WHERE a.openTime IN (SELECT MAX(openTime) FROM (SELECT * FROM Candlestick) b GROUP BY b.period) GROUP BY a.coin, a.period;
But this returns me a weird result, where I get some kind of the latest rows, but not the last one for ETH. Can someone help me out?
PS: I am running: 10.3.31-MariaDB-0ubuntu0.20.04.1-log Ubuntu 20.04
 
    
