sql >> Databáze >  >> RDS >> Mysql

mysql vyberte odlišný, ale nejnovější řádek

Můžete to udělat pomocí unie

(SELECT 
    site,date,score 
FROM
    `table`
WHERE 
    site = 'a'
ORDER BY date DESC
LIMIT 0,1)
UNION
(SELECT 
    site,date,score 
FROM
    `table`
WHERE 
    site = 'b'
ORDER BY date DESC
LIMIT 0,1)

Trochu spletitější, pokud nechcete psát UNION

SELECT 
    t.site, t.date, t.score
FROM 
    `table` t
    JOIN (
       SELECT ti.site,MAX(ti.date) AS dt
       FROM `table` ti
       GROUP BY ti.site
    ) t2 ON t2.site = t.site and t2.dt = t.date



  1. Proč MySQL vrací některé floats ve vědecké notaci, ale ne jiné?

  2. co se stane ve fázi adopce, připravte

  3. SELECT SUM vrátí řádek, pokud neexistují žádné záznamy

  4. při použití odkazu na databázi Oracle došlo k chybě ORA-12154 TNS Nelze vyřešit zadaný identifikátor připojení