خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


شمارش یک مقدار خاص از بین ستون ها در یک جدول از دیتابیس در SQL Server

شمارش یک مقدار خاص از بین ستون ها در یک جدول از دیتابیس در SQL Server
پیشتر در خصوص تابع Count در SQL Server مقالاتی را منتشر کردیم که در این خصوص می توانید به لینک های زیر مراجعه کنید. اما موضوعی که در این پست به بررسی آن خواهیم نشست ، شمارش یک مقدار خاص از بین Column ها یا ستون ها را در یک جدول خاص مورد استفاده قرار خواهیم داد. جلوتر موضوع برای شما شفاف تر و بازتر خواهد شد.

سیستم یکپارچۀ سازمانی راهکار




لطفا به Sample زیر دقت کنید:

Col1        Col2        Col3
----------- ----------- -----------
1 1 1
1 2 1
1 1 3

مثلا ما می خواهیم تعداد 1 ها را شناسایی کرده و بشماریم. از آنجا که مثال ما خیلی ساده است با یک نگاه ساده متوجه خواهید شد که تعداد 1 ها برابر با 7 است. حالا همین را از طریق کوئری در SQL انجام خواهیم داد. ابتدا یک جدول ایجاد می کنیم و مقادیری که در مثال فوق دیدید را بدان اضافه می کنیم.

USE TEMPDB
GO
CREATE TABLE #TEST
(
COL1 INT,
COL2 INT,
COL3 INT
);
INSERT INTO #TEST(COL1,COL2,COL3)
SELECT 1, 1, 1 UNION ALL
SELECT 1, 2, 1 UNION ALL
SELECT 1, 1, 3

اکنون اجازه دهید دو روش مختلف را بررسی کنیم که مقدار 1 را در جدول محاسبه کرده و مقدار مورد نظر که 7 است را تولید و نمایش می دهد.
در مثال اول از شرط CASE استفاده خواهیم کرد:

SELECT
SUM
(
CASE WHEN COL1=1 THEN 1 ELSE 0 END +
CASE WHEN COL2=1 THEN 1 ELSE 0 END +
CASE WHEN COL3=1 THEN 1 ELSE 0 END
) AS COUNTS
FROM #TEST

و در روش دوم از تابع UNION ALL استفاده خواهیم کرد:

SELECT
COUNT(COL1) AS COUNTS FROM
(
SELECT COL1 FROM #TEST WHERE COL1=1
UNION ALL
SELECT COL2 FROM #TEST WHERE COL2=1
UNION ALL
SELECT COL3 FROM #TEST WHERE COL3=1
) AS T

هر دو روش فوق، نتیجه مطلوب که 7 است را تولید و نمایش می دهد. اگر روش های دیگری را هم شما می شناسید لطفا در قسمت ثبت نظرات آنرا با ما و سایر دوستانتان در وب سایت به اشتراک قرار دهید.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز