Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एसक्यूएल एक 'कस्टम' पोस्ट_टाइप से एक्स अंतिम प्रविष्टियां प्राप्त करें जो उपयोगकर्ताओं को कस्टम पोस्ट_टाइप की व्यक्तिगत संख्या की गणना करता है

इसे आज़माएं;)

क्वेरी 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

इस SqlFiddle को जांचें परिणाम :

|   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 |

सबक्वेरी t2 अधिकतम ID मिलेगा प्रत्येक उपयोगकर्ता में जब user != '1' and post_type = 'custom' , फिर inner join t1 के साथ t2 पर t1.ID = t2.ID and t1.user = t2.user हमें रिकॉर्ड मिलेगा जिसमें अधिकतम ID है प्रत्येक user . द्वारा तालिका में post . जैसे:"2783", "2759", "2757", "2683", "2681", "2652", "2630", "2617", "2596", "2215"।

और अंत में order by और limit , निश्चित रूप से आप "2783", "2759", "2757", "2683" प्राप्त कर सकते हैं। आशा है कि मैंने आपके प्रश्न में गलती नहीं की।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लार्वा में डेटाबेस में सरणी मान डालें

  2. कैसे mysql में levenshtein समारोह जोड़ने के लिए?

  3. त्रुटि कोड:1052. फ़ील्ड सूची में 'विशेषता' कॉलम अस्पष्ट है

  4. पेज रीफ्रेश किए बिना ड्रॉपडाउन रीफ्रेश कैसे करें?

  5. क्वेरी में mysql पूर्ण टेक्स्ट स्टॉपवर्ड को अनदेखा करना