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

MySQL - Max() vrací špatný výsledek

Je to proto, že MySQL poněkud bizarně GROUP věci smyslným způsobem.

Výběr MAX(column) získáte maximální hodnotu pro daný sloupec, ale vyberete jiné sloupce (nebo column sám o sobě) nemusí vyberte celý řádek s nalezeným MAX() value is in. V podstatě dostanete zpět libovolný (a obvykle zbytečný) řádek.

Zde je vlákno s některými řešeními pomocí dílčích dotazů:Jak mohu VYBRAT řádky s MAX (hodnota sloupce), DISTINCT o jiný sloupec v SQL?



  1. Řazení podle řetězce, který začíná číslem - ActiveRecord

  2. Vrátí jak výsledek dotazu, tak počet řádků

  3. Jak udělat klouzavý součet, každý řádek musí obsahovat součet předchozích řádků

  4. Laravel 4 Kaskádové měkké mazání