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

SQL Hent X sidste indgange fra en 'custom' post_type, der tæller brugernes individuelle antal tilpassede post_type

Prøv dette;)

Forespørgsel 1 :

select t1.*, t2.userCnt
from `posts` t1
inner join (
    select max(`ID`) as `ID`, `user`, count(1) as userCnt
    from `posts`
    where `user` != '1'
    and `post_type` = 'custom'
    group by `user`
) t2 on t1.`ID` = t2.`ID` and t1.`user` = t2.`user`
order by t1.`ID` desc limit 4
 

Tjek denne SqlFiddle Resultater :

| ID | user | Date | title | status | post_type | userCnt | |------|------|---------------------|-------|-----------|-----------|---------| | 2783 | 5 | 2016-05-24 11:24:08 | Title | published | custom | 2 | | 2759 | 3 | 2016-05-07 14:00:22 | Title | published | custom | 3 | | 2757 | 12 | 2016-05-02 12:41:00 | Title | published | custom | 2 | | 2683 | 15 | 2016-04-22 20:27:45 | Title | published | custom | 2 |

Underforespørgsel t2 får det maksimale ID i hver bruger, når user != '1' and post_type = 'custom' , derefter inner join t1 med t2 på t1.ID = t2.ID and t1.user = t2.user får os post, som har maks. ID af hver user i tabel post . Ligesom:"2783", "2759", "2757", "2683", "2681", "2652", "2630", "2617", "2596", "2215".

Og sidst med order by og limit , selvfølgelig kan du få "2783", "2759", "2757", "2683". Håber ikke jeg tog fejl af dit spørgsmål.



  1. Kan jeg indsætte dato i mySQL i DD-Mon-YY-format?

  2. Eksporterer database gennem min java-kode

  3. Beskedsystem i php mysql

  4. 2 måder at se, om forældede funktioner stadig bliver brugt i en SQL Server-instans