|
|
|
พี่ ๆ ครับ ช่วยเรื่อง ฐานข้อมูล หน่อยครับ เกี่ยวกับการนับ ครับ |
|
|
|
|
|
|
|
สมมุติ ผม มีช้อมูล 100 ชุด
1 ชุด ประกอบด้วย ค่า c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 เอาไว้เก็บ ค่า สี อ่ะครับ
เช่น ชุดที่ 1 c1 = red,c2 = blue,c3= green,c4 = red,c5 = black,c6 = white,c7 = red,c8 = red,c9 = red,c10 = red
ชุดที่ 2 c1 = blue,c2 = blue,c3= green,c4 = blue,c5 = black,c6 = white,c7 = red,c8 = blue,c9 = red,c10 = blue
เป็นต้นครับ เป็นอย่างงี้ไป 100 ชุด
แล้วคราวนี้ผมจะเรียกฐานข้อมูลออกมาเช่น c1 = red , c2 = blue , c3= green
ข้อมูลที่เป็นพวกที่เกี่ยวกับ c1 = red , c2 = blue , c3= green ก็จะออกมาหมดเลยครับ
คราวนี้เนื่องด้วยผมต้องกรรู้ว่าตัวที่ 4 ส่วนใหญ่มันเป็นสีอะไรครับ บางทีข้อมูลมันมีเป็นร้อยแถวเลยดูไม่หมด
ผมเลยอยากสอบถามว่าในกรณีนี้เราสามารถทำการ count ได้ไหมครับ ?
คือ เรา อยากให้มัน count ตัวที่เรา search มาสุด แล้ว บวกไปอีก 1 อ่ะครับ
ในกรณีนี้ตัวที่ 3 บวกมากสุด เราก็อยากรู้ตัวที่ 4 อ่ะครับ ว่า ตัวที่สี่ โอกาสที่จะเป็น สีแดง เป็นกี่ % ของสีทั้ง หมด เป็นต้นอ่ะครับ
ขอคำชี้แนะ หน่อยนะครับ
ไม่ทราบว่าพวกพี่ ๆ เข้าใจกันไหมครับ
Tag : - - - -
|
|
|
|
|
|
Date :
2009-10-11 00:36:01 |
By :
lhing |
View :
706 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ว่าแต่ว่า เอาฐานข้อมูลมาให้ดูดีกว่าไหม แล้วต้องการอะไรจากมัน
|
|
|
|
|
Date :
2009-10-11 00:59:01 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
count คือการนับจำนวนเรคคอร์ด ถ้าจะทำแบบนั้นน่าจะเป็น where มากกว่านะ ลองดู where แล้วรึยัง?
|
|
|
|
|
Date :
2009-10-11 03:13:13 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฐานข้อมูลมีเยอะมากเลยอ่ะครับ
ผมขอเอามาบางส่วนนะครับ
เด๋วมันจะเอาไปอ่ะครับ
#
-- phpMyAdmin SQL Dump
-- version 3.1.3.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 11, 2009 at 04:17 PM
-- Server version: 5.1.33
-- PHP Version: 5.2.9
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `data_color`
--
-- --------------------------------------------------------
--
-- Table structure for table `data_color`
--
DROP TABLE IF EXISTS `data_color `;
CREATE TABLE `data_color ` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`c1` varchar(11) DEFAULT NULL,
`c2` varchar(11) DEFAULT NULL,
`c3` varchar(11) DEFAULT NULL,
`c4` varchar(11) DEFAULT NULL,
`c5` varchar(11) DEFAULT NULL,
`c6` varchar(11) DEFAULT NULL,
`c7` varchar(11) DEFAULT NULL,
`c8` varchar(11) DEFAULT NULL,
`c9` varchar(11) DEFAULT NULL,
`c10` varchar(11) DEFAULT NULL,
`c11` varchar(11) DEFAULT NULL,
`c12` varchar(11) DEFAULT NULL,
`c13` varchar(11) DEFAULT NULL,
`c14` varchar(11) DEFAULT NULL,
`c15` varchar(11) DEFAULT NULL,
`c16` varchar(11) DEFAULT NULL,
`c17` varchar(11) DEFAULT NULL,
`c18` varchar(11) DEFAULT NULL,
`c19` varchar(11) DEFAULT NULL,
`c20` varchar(11) DEFAULT NULL,
`c21` varchar(11) DEFAULT NULL,
`c22` varchar(11) DEFAULT NULL,
`c23` varchar(11) DEFAULT NULL,
`c24` varchar(11) DEFAULT NULL,
`c25` varchar(11) DEFAULT NULL,
`c26` varchar(11) DEFAULT NULL,
`c27` varchar(11) DEFAULT NULL,
`c28` varchar(11) DEFAULT NULL,
`c29` varchar(11) DEFAULT NULL,
`c30` varchar(11) DEFAULT NULL,
`c31` varchar(11) DEFAULT NULL,
`c32` varchar(11) DEFAULT NULL,
`c33` varchar(11) DEFAULT NULL,
`c34` varchar(11) DEFAULT NULL,
`c35` varchar(11) DEFAULT NULL,
`c36` varchar(11) DEFAULT NULL,
`c37` varchar(11) DEFAULT NULL,
`c38` varchar(11) DEFAULT NULL,
`c39` varchar(11) DEFAULT NULL,
`c40` varchar(11) DEFAULT NULL,
`c41` varchar(11) DEFAULT NULL,
`c42` varchar(11) DEFAULT NULL,
`c43` varchar(11) DEFAULT NULL,
`c44` varchar(11) DEFAULT NULL,
`c45` varchar(11) DEFAULT NULL,
`c46` varchar(11) DEFAULT NULL,
`c47` varchar(11) DEFAULT NULL,
`c48` varchar(11) DEFAULT NULL,
`c49` varchar(11) DEFAULT NULL,
`c50` varchar(11) DEFAULT NULL,
`c51` varchar(11) DEFAULT NULL,
`c52` varchar(11) DEFAULT NULL,
`c53` varchar(11) DEFAULT NULL,
`c54` varchar(11) DEFAULT NULL,
`c55` varchar(11) DEFAULT NULL,
`c56` varchar(11) DEFAULT NULL,
`c57` varchar(11) DEFAULT NULL,
`c58` varchar(11) DEFAULT NULL,
`c59` varchar(11) DEFAULT NULL,
`c60` varchar(11) DEFAULT NULL,
`c61` varchar(11) DEFAULT NULL,
`c62` varchar(11) DEFAULT NULL,
`c63` varchar(11) DEFAULT NULL,
`c64` varchar(11) DEFAULT NULL,
`c65` varchar(11) DEFAULT NULL,
`c66` varchar(11) DEFAULT NULL,
`c67` varchar(11) DEFAULT NULL,
`c68` varchar(11) DEFAULT NULL,
`c69` varchar(11) DEFAULT NULL,
`c70` varchar(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`country` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=72 ;
--
-- Dumping data for table `data_color `
--
INSERT INTO `data_color ` VALUES(12, 'PINK', 'BLACK', 'BLACK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'AKE', 'THAILAND');
INSERT INTO `data_color ` VALUES(13, 'GREEN', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'GREEN', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'GREEN', 'BLACK', 'PINK', 'BLACK', 'GREEN', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'GREEN', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'GREEN', 'BLACK', 'GREEN', 'PINK', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'AKE', 'JAPAN');
INSERT INTO `data_color ` VALUES(14, 'BLACK', 'GREEN', 'GREEN', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'GREEN', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'GREEN', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'AKE', 'THAILAND');
INSERT INTO `data_color ` VALUES(15, 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'GREEN', 'PINK', 'PINK', 'PINK', 'GREEN', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'BLACK', 'BLACK', 'BLACK', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'AKE', 'JAPAN');
INSERT INTO `data_color ` VALUES(16, 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'PINK', '', '', '', '', '', '', '', '', '', '', '', '', 'AKE', 'JAPAN');
INSERT INTO `data_color ` VALUES(17, 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'GREEN', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'GREEN', 'GREEN', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', '', '', '', '', '', '', '', '', '', '', 'POM', 'THAILAND');
INSERT INTO `data_color ` VALUES(18, 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'GREEN', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', '', '', '', '', '', '', '', '', '', '', '', '', 'POM', 'JAPAN');
INSERT INTO `data_color ` VALUES(19, 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'GREEN', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'GREEN', 'BLACK', 'GREEN', 'GREEN', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'GREEN', 'PINK', 'PINK', 'BLACK', 'BLACK', '', '', '', '', '', '', '', '', '', '', 'POM', 'JAPAN');
INSERT INTO `data_color ` VALUES(20, 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'GREEN', 'BLACK', 'GREEN', 'BLACK', 'PINK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'PINK', 'PINK', 'BLACK', 'BLACK', 'GREEN', 'PINK', 'GREEN', 'PINK', 'PINK', 'GREEN', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'GREEN', 'PINK', 'PINK', 'PINK', 'BLACK', 'GREEN', '', '', '', '', '', '', '', '', '', '', '', '', '', 'POM', 'JAPAN');
INSERT INTO `data_color ` VALUES(21, 'PINK', 'BLACK', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'PINK', 'BLACK', 'BLACK', 'BLACK', 'GREEN', 'BLACK', 'PINK', 'PINK', 'BLACK', 'PINK', 'BLACK', 'GREEN', 'BLACK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', 'GREEN', 'GREEN', 'BLACK', 'BLACK', 'PINK', 'BLACK', 'PINK', 'PINK', 'PINK', 'PINK', 'BLACK', 'PINK', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'POM', 'THAILAND');
#
จะเห็นว่าข้อมูลส่วนใหญ่เป็นสีอ่ะครับ
สิ่งที่อยากได้ก็คือ เหมือน search ออกมาแล้ว ที่นึง เราก็ไป search จากข้อมูลที่เรา search ออกมาก่อนหน้านั้นอีกทีอ่ะครับ
เช่นตัวอย่างแรก
เรา ค้นหา ว่า c1 = Pink, c3 = black มี อะไร
ก็จะได้ข้อมูลออกมาทั้งหมด ใช่ไหมครับ
แล้วคราวนี้ เราก็อยากรู้ว่า ข้อมูลที่ออกมาเมื่อกี้เนี่ย ข้อมูลที่เป็น c4 (ตรงนี้สมมุติค่านะครับ อาจจะเป็น c6 , c9,c50 ก็ได้) มีสี่ PINK กี่จำนวน
มีสี BLACK กี่จำนวน แบบนี้อ่ะครับ ไม่ทราบพอจะทำได้ไหมครับ
แต่ก่อนท่าน PlaKrim เคยช่วยเรื่อง select ฐานข้อมูลแล้วอ่ะครับ แต่ตอนนั้นยังไม่ได้อยากได้ search ซ้อน search ดังนั้น ก็เลยยังใช้แบบนี้อยู่
จากหน้านี้นะครับ
https://www.thaicreate.com/php/forum/031579.html
ตอนนี้ sql ที่ใช้อยู่ก็ใช้ของพี่ plakrim อ่ะครับ
อันนี้อ่ะครับ
Code (PHP)
<?PHP
$sql = "select * from data_score
where 1=1";
for ($i=1;$i<71;$i++)
{
if(!empty(${"c".$i}))
$sql .= " AND `c" . $i . "` LIKE '" . ${"c".$i} . "'" ;
}
$sql .= "LIMIT 0,10";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
?>
รบกวนช่วยชี้นะหน่อยนะครับ ควรจะต้องปรับแก้ตรงไหนบ้างครับ
ไม่รู้จะใช้ where ยังไงอ่ะครับ คือ 1=1 ผมยังไม่รู้เลยว่ามันหมายความว่าไง -*- ไม่ได้เรียนมาด้านนี้อ่ะครับ ศึกษาเอาหมดเลย รบกวนนิดนึงนะครับ
ขอบคุณมากครับ
|
|
|
|
|
Date :
2009-10-11 16:43:36 |
By :
lhing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วิธีง่ายๆ ก็คือเอามาวนลูปเช็คเก็บค่าอีกที แค่นั้น
ที่เข้าใจคือ c1 อาจมีสีต่างกันป่าว เข้าใจถูกไหมเนี่ย
ตัวอย่าง
//เมื่อได้แถวที่ต้องการมาแล้ว
while($row = mysql_fetch_array($query)){
//เก็บจำนวน c1ที่เป็น PINK และ c2 เป็น black
if ($row['c1'] == 'PINK') $c1_pink++;
if ($row['c2'] == 'BLACK') $c2_black++;
}
ประมาณนี้มั้งครับ
|
|
|
|
|
Date :
2009-10-11 17:13:59 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เด๋วจะไปลองดูนะครับ
ขอบคุณมากครับ
นึกว่าท่านไม่มาซะแล้ว
เห็นอีกระทู้ท่านบอกจะพักเดือนนึง
ขอบคุณมากนะครับที่แนะนำ
|
|
|
|
|
Date :
2009-10-11 17:18:26 |
By :
lhing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับท่าน
ขอบคุณมากครับ
ทำตามท่าน pjgunner เลย
ขอบคุณครับ
|
|
|
|
|
Date :
2009-10-11 18:59:10 |
By :
lhing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าผมจะคอยมาช่วยตอบคำถามให้คนที่ไม่เป็นเหมือนกันครับ
แต่ผมว่าจะช่วยคนที่อ่อนกว่าผมอ่ะครับ
อิอิ ผมว่าน่าจะมีบ้างแหละ
แต่ก่อนผมเขียนไม่เป็นเลยนะครับ
แล้วก็ไปเรียนที่ netdesign php พื้นฐานอ่ะครับ
เรียนจบมา แทบไม่รู้เรื่องเลย เรียนจบได้ไง ผมยังงงอยู่เลย
ต้องกลับบ้านมาศึกษาจาก code ที่เรียนมา ก็เริ่ม ๆ เข้าใจครับ
จนทุกวันนี้ผมว่า ผมก็เก่งขึ้นหน่อยแหละ อิอิ
ไว้ผมจะมาช่วยคนที่อ่อนกว่าผมนะครับ
ขอบคุณทุกท่านอีกครั้งครับ
|
|
|
|
|
Date :
2009-10-11 19:27:04 |
By :
lhing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|