PDA

View Full Version : پیدا کردن تنوع IP بدون استفاده از distinct با استفاده از Where



khadem1386
یک شنبه 15 آبان 1390, 16:46 عصر
با سلام به این کد دقت کنید.

/* تعداد تنوع آی پی
SELECT COUNT(distinct ip) AS [Number of visitors]
from myTab



این کد به ما می گوید که چند تا IP مختلف در جدول ما وجود دارد. و درواقع distinct جلوی تکراری ها را می گیرد

حال اگر نخواهیم از distinct استفاده کنیم و بجای آن بخواهیم یک شرط where بکار ببریم چه کوئری را پیشنهاد می کنید؟

khadem1386
یک شنبه 15 آبان 1390, 16:52 عصر
نطر شما در رابطه با این کوئری چیست؟


select count(1) AS [Number of visitors]
FROM mytab A
where A.IP not IN
(select B.IP
FROM MyTab B
where B.ID < A.ID)



می خواستم جلوی تکراری بودن ip را بگیریم ولی متاسفانه درست عمل نمی کنه و عدد یک را برمی گردانه

توضیح: 1ستون ایندکس همان ID است.
2-می خواهیم تعداد تنوع IP را بدون تکرار پیدا کنیم . بدون استفاده از distinct

khadem1386
چهارشنبه 18 آبان 1390, 20:13 عصر
هیچ کس کمکی نمی تونه بکنه؟

mina_ghorbani
یک شنبه 22 آبان 1390, 11:27 صبح
اين گونه عمل كنيد

SELECT COUNT(IP) AS tedad
FROM (SELECT CB1 AS IP
FROM _CBOOK
GROUP BY CB1) AS s

hmm
یک شنبه 22 آبان 1390, 13:03 عصر
select ip from mytab
group by ip