জ্যামিতির দ্বারা গ্রুপ করা ঠিক আছে কি?
বহুভুত জ্যামিতি দ্বারা আমরা প্রচুর গণনা পয়েন্টগুলি করি, যার মধ্যে শিক্ষার্থীদের উদাহরণগুলি গণনা করার জন্য প্রথমে ডেটা ছেদ করা জড়িত। স্কুল সীমানা, ব্লক গ্রুপ, ইত্যাদি দ্বারা:
SELECT
n.nbhd_id
, count(*) AS count_burglaries
FROM denver.crime AS c
JOIN denver.neighborhoods AS n
ON ST_Intersects(c.geom, n.geom)
WHERE c.offense_ty LIKE 'BURG%'
GROUP BY n.nbhd_id
বহু পদক্ষেপটি গণনা কোয়েরিতে ফিরে জ্যামিতিতে যোগদানের জন্য দ্বিতীয় পদক্ষেপটি একটি সাব-কোয়েরিতে মোড়ানো:
SELECT
count.*
, n.nbhd_name
, n.geom
FROM (
SELECT
n.nbhd_id
, count(*) AS count_burglaries
FROM denver.crime AS c
JOIN denver.neighborhoods AS n
ON ST_Intersects(c.geom, n.geom)
WHERE c.offense_ty LIKE 'BURG%'
GROUP BY n.nbhd_id
) AS count
JOIN denver.neighborhoods AS n
ON count.nbhd_id = n.nbhd_id
তবে মনে হয় আপনি গ্রামীণে জ্যামিতিও ব্যবহার করতে পারেন:
SELECT
n.nbhd_id
, n.nbhd_name
, n.geom
, count(*) AS count_burglaries
FROM denver.crime AS c
JOIN denver.neighborhoods AS n
ON ST_Intersects(c.geom, n.geom)
WHERE c.offense_ty LIKE 'BURG%'
GROUP BY n.nbhd_id, nbhd_name, n.geom
GROUP এ জ্যামিতি সহ কী কোনও সঠিক পদ্ধতির মাধ্যমে রয়েছে?
GROUP BY
লাভ তোমার? এটি কি একটি অনন্য কী দ্বারা যোগদানযোগ্য নয়nbhd_id
? আপনি বাছাইকে আরও বিস্তৃত করছেন যা রানটাইম বাড়িয়ে তোলে, সম্ভবত পরবর্তী যোগদানের চেয়ে আরও বেশি দ্বারা।