तालिका:php mysql समूह के आधार पर नवीनतम रिकॉर्ड, नहीं पहले रिकॉर्ड प्राप्त करने के लिए
(`post_id`, `forum_id`, `topic_id`, `post_time`)
(79, 8, 4, '2012-11-19 06:58:08');
(80, 3, 3, '2012-11-19 06:58:42'),
(81, 9, 9, '2012-11-19 06:59:04'),
(82, 11, 6, '2012-11-19 16:05:39'),
(83, 9, 9, '2012-11-19 16:07:46'),
(84, 9, 11, '2012-11-19 16:09:33'),
क्वेरी:
SELECT post_id, forum_id, topic_id FROM posts
GROUP BY topic_id
ORDER BY post_time DESC
LIMIT 5
परिणाम:
[0] => [post_id] => 84 [forum_id] => 9 [topic_id] => 11
[1] => [post_id] => 82 [forum_id] => 11 [topic_id] => 6
[2] => [post_id] => 81 [forum_id] => 9 [topic_id] => 9
[3] => [post_id] => 80 [forum_id] => 3 [topic_id] => 3
[4] => [post_id] => 79 [forum_id] => 8 [topic_id] => 4
समस्या:
क्वेरी को फिर से लिखने के लिए कैसे करें ताकि मैं t post_id -> 83 post_id के बजाय 83>> 81 देता है?
वे दोनों एक ही मंच और विषय आईडी है, लेकिन post_id -> 81 post_id से एक पुराने तिथि है -> 83
लेकिन यह है कि समूह के आधार पर 'पहली' रिकॉर्ड और नहीं 'नवीनतम हो जाता है लगता है ' एक।
मैं
SELECT post_id, forum_id, topic_id, MAX(post_time)
करने के लिए क्वेरी को बदलने की कोशिश की, लेकिन वह दोनों POST_ID 81 और 83
स्पष्टीकरण और कोड के लिए धन्यवाद। दोनों प्रश्न काम किया। – shanebp
मैंने आपको पहली बार क्वेरी का उपयोग किया था, लेकिन यह बदलने से पहले काम नहीं करता है ... जहां पोस्ट_टाइम = ... से ... जहां पोस्ट_टाइम ... जहां मुझे एक परिणाम मिला है। –
यह इतनी परेशानी क्यों है? एसक्यूएल का उपयोग करके यह [तालिका] से [चयन] ग्रुप [कॉलम] 'से चुनें, जो सबसे पुराने के बजाय नवीनतम का चयन करता है, तार्किक अधिकार लगता है? –