सबसे बाईं ओर इसके द्वारा ऑर्डर करें
आइटम DISTINCT
. के आइटम से असहमत नहीं हो सकते खंड। मैं मैनुअल को DISTINCTके बारे में बताता हूं। कोड>
:
कोशिश करें:
SELECT *
FROM (
SELECT DISTINCT ON (c.cluster_id, feed_id)
c.cluster_id, num_docs, feed_id, url_time
FROM url_info u
JOIN cluster_info c ON (c.cluster_id = u.cluster_id)
WHERE feed_id IN (SELECT pot_seeder FROM potentials)
AND num_docs > 5
AND url_time > '2012-04-16'
ORDER BY c.cluster_id, feed_id, num_docs, url_time
-- first columns match DISTINCT
-- the rest to pick certain values for dupes
-- or did you want to pick random values for dupes?
) x
ORDER BY num_docs DESC;
या GROUP BY
. का उपयोग करें :
SELECT c.cluster_id
, num_docs
, feed_id
, url_time
FROM url_info u
JOIN cluster_info c ON (c.cluster_id = u.cluster_id)
WHERE feed_id IN (SELECT pot_seeder FROM potentials)
AND num_docs > 5
AND url_time > '2012-04-16'
GROUP BY c.cluster_id, feed_id
ORDER BY num_docs DESC;
अगर c.c.cluster_id, Feed_id
सभी (इस मामले में दोनों) तालिकाओं के प्राथमिक कुंजी स्तंभ हैं जिन्हें आप SELECT
में से स्तंभ शामिल करते हैं सूची, तो यह सिर्फ PostgreSQL के साथ काम करता है 9.1 या बाद में।
नहीं तो आपको GROUP BY
करना होगा शेष कॉलम या कुल या अधिक जानकारी प्रदान करें।