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

Wordpress mysql gruppe af | bestil efter

dine id'er er trinvise. brug det.

select ...
from 
.....
where id post_in 
(select max(post_id) from table group by category)

hvis du ved, hvor mange kategorier der er, kan du gøre det endnu bedre ved at bruge

where post id in 
(select post_id from table where category=1 order by time desc limit 1
union
select post_id from table where category=2 order by time desc limit 1
union
select post_id from table where category=3 order by time desc limit 1
union
select post_id from table where category=4 order by time desc limit 1)

eller du kan bruge parametre, som vil give dig et perfekt resultat, men en meget langsom forespørgsel

select * from
(select 
@rn:=if(@prv=category_id, @rn+1, 1) as rId,
@prv:=category_id as category_id,
timestamp,
other columns
from (select category_id, timestamp, other columns from ... )a
join
(select @prv:=0, @rn:=0)tmp
order by 
category_id , timestamp desc) a
where rid<=1


  1. Sammenligning af fuldtekstsøgemaskine - Lucene, Sphinx, Postgresql, MySQL?

  2. Vælg poster efter tid i intervallet mellem 12:00:00 og 18:00:00 hver dag

  3. Dvalekriterier for datoer

  4. Vælg alle poster fra en tabel, der ikke findes i en anden tabel i Laravel 5.1