sql >> Database teknologi >  >> RDS >> Mysql

Fast i opbygningen af ​​MySQL-forespørgsel

For alle kolonnerne i rækkerne kan du bruge en indre sammenføjning ved subselect for minimum budpris

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

eller .. hvis du har en eller anden flydende datatype, kan du bruge en acst for usigneret

  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. Hvorfor forpligter SQL*Plus ved exit?

  2. Sådan fungerer Ln()-funktionen i PostgreSQL

  3. Group_concat MySQL-funktionens ækvivalent i Oracle

  4. Sådan deaktiveres alle CHECK &fremmednøglebegrænsninger for en tabel i SQL Server (T-SQL-eksempler)