PDA

View Full Version : سوال در مورد selec



javad3151
سه شنبه 22 فروردین 1385, 09:56 صبح
سلام
یه جدول دارم که دو تا فیلد نام کشورها و جنسیت و... داره می خوام با یه دستور تعداد کشورها و تعداد زن و مرد ها رو بده مثلا:
کشور تعداد کل مرد زن
ایران 25 20 5
آلمان 78 68 10
...
تعداد کشورها رو با COUNT و GROUP BY می گیرم ولی برای بدست آوردن تعداد مردها و زنها نمیدونم چیکار کنم!؟؟؟یعنی فیلد جنسیت باید در خروجی بر اساس اطلاعاتش تقسیم بشه
ببخشید که سوال پیش و پا افتاده است.

reza_rad
سه شنبه 22 فروردین 1385, 10:09 صبح
با sum نمیشه؟؟؟
sum(man) باید جواب بده.
البته اگه منظورت رو درست فهمیده باشم!

mzjahromi
سه شنبه 22 فروردین 1385, 10:37 صبح
منظورتون از تعداد زنها و مردها تعداد اونا در یک کشور خاص هست یا تعداد کلی اونا
اگر منظورت کلی هست که نام کشور که در گزارش بالا نوشتی معنی نمیده
اگر منظورت تعدادشون در هر کشور هست پس تعداد کشور معنی نمیده
یه خورده بیشتر توضیح بده

AminSobati
سه شنبه 22 فروردین 1385, 13:49 عصر
من هم مطمئن نیستم سوال رو دقیقا متوجه شده باشم!
SELECT Country, MaleCount, FemaleCount, MaleCount+FemaleCount AS 'Total' FROM MyTable

javad3151
چهارشنبه 23 فروردین 1385, 06:30 صبح
سلام
خیلی ممنون که وقت گذاشتید.
در فایل ضمینه یک عکس گذاشتم که همه چیز رو نشون میده
جدول اصلی لیست دانشجویان همراه با مشخصات آنها مثل نام, جنسیت , تابعیت و.... را در خود نگهداری میکنه. حالا میخوام با یک دستور لیست تعداد دانشجویان هر کشور را به تفکیک جنسیت (زن,مرد)بده مثلا از آرژانتین xx تا دانشجو داریم که شامل x زن , x مرد هستند.

mzjahromi
چهارشنبه 23 فروردین 1385, 07:02 صبح
اگر به اون شکلی که نشون دادی بخوای باشه


SELECT Shahr, SUM(total) AS total1, SUM(mard) AS mard1, SUM(zan) AS zan1
FROM (SELECT Shahr, jens, 0 AS total, COUNT(*) AS mard, 0 AS zan
FROM test1
WHERE jens = 1
GROUP BY Shahr, jens
UNION ALL
SELECT Shahr, jens, 0, 0, COUNT(*) AS Expr1
FROM test1
WHERE jens = 2
GROUP BY Shahr, jens
UNION ALL
SELECT shahr, 0, COUNT(*), 0, 0
FROM test1
GROUP BY shahr) DERIVEDTBL
GROUP BY Shahr
ORDER BY Shahr

و اینهم یه راه


SELECT Shahr, jens, COUNT(*) AS Expr1
FROM test1
GROUP BY Shahr, jens
UNION ALL
SELECT shahr, 0, COUNT(*)
FROM test1
GROUP BY shahr
ORDER BY shahr, jens

javad3151
چهارشنبه 23 فروردین 1385, 09:26 صبح
محمد آقا ،خیلی خیلی ممنون
درست شد