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

Zaseknutý při vytváření dotazu MySQL

Pro všechny sloupce v řádcích můžete použít vnitřní spojení na podvýběr pro minimální nabídkovou cenu

select m.id, m.item_id, m.user_id, m.bid_price
from my_table m 
inner join ( 
select item_id, min(id) min_id,  min(bid_price) min_price
from my_table 
where   item_id IN (1,2,3)
group by item_id 
) t on t.item_id = m.item_id 
   and t.min_price= m.bid_price
   and t.min_id = m.id

nebo .. pokud máte nějaký plovoucí datový typ, můžete použít acst pro unsigned

  select m.id, m.item_id, m.user_id, cast(m.bid_price as UNSIGNED) 
  from my_table m 
  inner join ( 
  select item_id, min(id) min_id,  min(bid_price) min_price
  from my_table 
  where   item_id IN (1,2,3)
  group by item_id 
  ) t on t.item_id = m.item_id 
     and t.min_price= m.bid_price
     and t.min_id = m.id 


  1. Strom vztahů (rodinného) obchodu MySQL

  2. Spočítejte, kolik řádků má stejnou hodnotu

  3. Zobrazení DateTime v milisekundách?

  4. Jak uniknout řetězcům v SQL Server pomocí PHP?