PDA

View Full Version : سوال: طریقه دریافت تعداد فیلد های تکراری



shahinshyd
چهارشنبه 03 فروردین 1390, 14:55 عصر
باعرض سلام
ببینید من مثلا یک جدول به نام رضا دارم که یک فیلد به نام I داره حالا تو این فیلد که عددی هست مثلا ما 10 تا 9 داریم حالا من میخوام تعداد فیلد های تکراری رو بکشم بیرون که یک کد نوشتم ولی جواب نداد لطفا کمک کنید

کد PHP:

$sql1="select Count(*) as l from reza where i=i";
$result1=mysql_query($sql1,$link);


__________________

maysam.m
چهارشنبه 03 فروردین 1390, 15:43 عصر
باعرض سلام
ببینید من مثلا یک جدول به نام رضا دارم که یک فیلد به نام I داره حالا تو این فیلد که عددی هست مثلا ما 10 تا 9 داریم حالا من میخوام تعداد فیلد های تکراری رو بکشم بیرون که یک کد نوشتم ولی جواب نداد لطفا کمک کنید

کد PHP:

$sql1="select Count(*) as l from reza where i=i";
$result1=mysql_query($sql1,$link);


__________________

مشکل کوئریتون چیه؟ این کوئری باید درست عمل کنه! چه نتیجه ای برمی گردونه؟

امیـرحسین
چهارشنبه 03 فروردین 1390, 15:57 عصر
SELECT COUNT(*) AS total, i FROM tbl GROUP BY i;

shahinshyd
چهارشنبه 03 فروردین 1390, 16:30 عصر
مشکل کوئریتون چیه؟ این کوئری باید درست عمل کنه! چه نتیجه ای برمی گردونه؟

باسلام
هیچ عددی برنمی گردونه

shahinshyd
چهارشنبه 03 فروردین 1390, 16:38 عصر
SELECT COUNT(*) AS total, i FROM tbl GROUP BY i;

دوست من یکم بیشتر توضیح میدی
اینجا شما گفتید که جمع تعداد فیلد ها رو بریزه تو توتال ادامش چیه؟

parselearn
چهارشنبه 03 فروردین 1390, 20:13 عصر
با اجازه امير حسين

SELECT COUNT(*) AS total, i FROM tbl GROUP BY i;
مفهوم:
گروه بندي كن فيلد i (هر فيلدي ميتونه باشه) را در جدول tbl و نمايش بده i (شناسه) و تعداد اعضاي گروه i را با نام total

اين كد تعداد هر i رو نمايش ميده

تابع COUNT براي تعداد هست. و sum براي جمع


اگر بخواهيد انهايي كه تكرار شده اند را نمايش دهيد
SELECT COUNT(*) AS total, i FROM tbl GROUP BY i having total>1;


ولي بايد خروجي را جمع كرد. چطوري با sql جمع كنيم؟
SELECT sum(COUNT(*)) AS sumrepeat,COUNT(*) AS total FROM tbl GROUP BY i having total>1 ;