ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[mysql+php] จะเทียบข้อมูลระหว่างrowsในtableเดียวกันยังไงให้เร็วสุดๆ ช่วยด้วยครับ
หน้า: 1 [2]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [mysql+php] จะเทียบข้อมูลระหว่างrowsในtableเดียวกันยังไงให้เร็วสุดๆ ช่วยด้วยครับ  (อ่าน 6353 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Seree
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #20 เมื่อ: 24 ธันวาคม 2008, 11:54:25 »

ผมไม่ได้บลัฟกลับคุณ EThaiZone โปรแกรมเมอร์มือหนึ่งของที่นี่นะครับ ถือว่าคุยกันด้านวิชาการหา solution ที่ดีที่สุดให้กับผู้ตั้งโจทย์ละกันนะครับ

- query ของผม มี execution plan ที่ใช้ resource น้อยกว่าของคุณครับ
- ถ้า query ของคุณดีกว่าของผมจริง (สมมติไม่นับ execution plan) แล้วเอาเวลาในการ query + การนำ php ไปประมวลผลลัพธ์ ผมรับรองได้ว่าช้ากว่าของผมมากครับ (คุณ getkey1 ตั้งโจทย์นี้มาผมคิดว่าเค้าคงรู้ข้อนี้ดีครับ)
- คำสั่ง select count สุดท้ายของผมสามารถทำให้รันแค่ครั้งเดียวได้ครับ แต่ตอนนี้ prove of concept ก่อน ค่อย optimize ตามหลังครับ
- ผลลัพธ์สุดท้ายของผมน่าจะตรงใจคุณ getkey1 ที่สุดครับ

คุณ getkey1 ลองบอกตย.การเปรียบเทียบฟิลด์อื่นด้วยได้มั้ยครับ เดี๋ยวจะช่วยกันหา solution ให้ครับ (ผมได้รับ PM แล้ว และตอบกลับไปแล้วครับ)

ขอบคุณครับ

ปล.วันนี้อย่าลืมเชียร์บอลไทยครับ Smiley
« แก้ไขครั้งสุดท้าย: 24 ธันวาคม 2008, 12:05:52 โดย Seree » บันทึกการเข้า
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #21 เมื่อ: 24 ธันวาคม 2008, 12:26:37 »

เอ้ว!! Shocked  ผมไม่ได้คิดว่าตัวเองมือหนึ่งนะ ทุกวันนี้ยังนับถือพี่ Tee++; พี่ Gootum พี่ icez เลย
แค่ผมชอบอ่าน doc บนหน้าเว็บเท่านั้นเอง และช่วยได้ก็ช่วยกันไป
เราคนช่วยก็ได้ค้นคว้าเพิ่มด้วย เพราะไม่ใช่ว่าเราจะรู้ไปทุกเรื่อง

แต่ผมชอบที่มีคนถกกันเรื่องแบบนี้ครับ  Smiley
มีน้อยบอร์ดจริงๆ เพราะมักไม่ค่อยอยากพิมพ์ยาวๆ กัน

แต่ที่ผมว่าอืดเพราะ count(*) มันก็แค่ยังไล่นับอยู่ดี
หลายคนว่า เลี่ยงได้อย่าใช้ count กับ * เลย
เว้นแต่ condition เยอะหน่อยจน result ไม่น่าจะเยอะเกินไป

ซึ่งงานคุณgetkey1 ดูแล้วจะจัดการแค่ table เดียว
กับข้อมูลสองตัว (check=4 และ check=5)
เลยสู้ให้มันหาข้อมูลดิบสองครั้ง แล้วมาจัดการเอาบน php ดีกว่า
แถมจะเขียนคำนวณอย่างอื่นเพิ่ม ก็น่าสบายกว่า (สำหรับผมอะน่ะ)

งานนี้แล้วแต่สไตล์คนทำด้วยละมั้ง  Cheesy

แต่ยอมรับเลยเรื่อง sql ผมรู้ไม่เยอะ ผมเห็น query ที่คุณ Seree เขียนยังอึ๊งเลย (อึ้งเพราะผมเขียนแบบนั้นไม่ได้)
นึกถึงสมัยผมนั่งบ้าบน excel เล่นฟังค์ชั่นและ if ยัดๆ ลงเซลล์เดียวเยอะๆ  ^o^

ปล. พักนี้เล่น dot hack g.u ชักติด emoticon แบบเก่าๆ Shocked (พิมพ์จาก fast reply)
ปล2. มือจะน็อกแล้ว วันนี้ขอขายละครับ (มือข้างเดียว) T-T
« แก้ไขครั้งสุดท้าย: 24 ธันวาคม 2008, 12:34:28 โดย EThaiZone » บันทึกการเข้า

siamman
บุคคลทั่วไป
« ตอบ #22 เมื่อ: 24 ธันวาคม 2008, 12:38:50 »

โค๊ด:
select distinct domain,
ifnull(
(select concat(pr,'->',l1.pr) from Lab l2 where l1.domain=l2.domain and chk=4),
'New') 'status'
from Lab l1
where chk=5
union
select distinct domain,
'Deleted'
from Lab l1
where chk=4 and (select count(*) from Lab where domain=l1.domain and chk=5)=0
;

ผลลัพธ์ตย.ครับ



ขอบคุณครับ

mysql นี่ สงสัยต้องศึกษาเพิ่มเติม อีกเยอะแฮะ คำสั่งบางอย่างไม่ต้องมาเขียน php ไห้ประมวลผลเลย น่าสนใจมากมาย
บันทึกการเข้า
ManyMoney
คนรักเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 192



ดูรายละเอียด เว็บไซต์
« ตอบ #23 เมื่อ: 24 ธันวาคม 2008, 12:37:25 »

คือว่า... เออ

ผมต้องไปเขียนตรงโปรแกรมอื่นก่อน ตรงส่วนนี้ของผมเลยทำแบบ ขอไปทีก่อน เพราะทีแรกตั้งโจทย์ให้ ผู้เชียวชาญช่วยแก้ แล้วกะมาโมต่อเอง แต่กลับหัวไม่ถึงครับ โมต่อเองแล้วerror

จุดประสงค์ของโปรแกรมคือ ไม่ได้เทียบแค่ pr อย่างเดียว แต่เทียบอีกหลายๆอย่างประมาณ50อย่าง
ว่าที่check=4 และ check=5 มีอะไรบ้างที่ไม่เหมือนกันครับ และมีอะไรเพิ่มมาใหม่บ้าง

ตอนนี้ที่บอกว่าทำแบบขอไปที คือผมselect 2 ครั้ง
ครั้งแรก คือ จะหาอันที่ไม่เหมือนกันก่อน
select a.domain a.pr as pr_A,a.visitor as visitor_A,a.ทีละอันไปจนครบ50, b.pr as pr_B,b.visitor as visitor_B,b.ทีละอันไปจนครบ50
from table a INNER JOIN table b USING(domain) where a.check=4 AND b.check=5

ไม่ทราบเหมือนกันว่าทำไมต้อง inner joinทำไมต้องใช้ usingไม่ใช้ on แต่ลองแล้วมันได้ตามต้องการก็ขอเอาแบบนี้ไปก่อนครับ

แล้วผมก็ใช้ while ออกมาเทียบกัน ทำด้วยมือเสียเวลามา ถ้าเก่งๆเรื่อง array หาวิธีเอามาcompareกันได้ คงบรรทัดเดียวจบไปแล้ว..
ตอนนนี้ผมทำแบบ
 while...{
if($arr[pr_A]!=$arr[pr_B])]){echo 'pr_A เปลี่ยนจาก'.$arr[pr_A].'เป็น'.$arr[pr_B];}
if($arr[visitor_A]!=$arr[visitor_B]){echo 'visitor_A เปลี่ยนจาก'.$arr[visitor_A].'เป็น'.$arr[visitor_B];}
..
..
..
ผมทำด้วยมือไปอีกจนครับ 50 อันที่ต้องการ
}

ยังไม่จบนี้เพิ่ง select ครั้งแรก
ผมต้องselect อีกทีเพื่อหาว่าอันไหน addหรือdelไป?
ไม่ใช่วิธีที่ถูกแต่resultตรงตามที่ผมต้องการ เป็นการแก้ปัญหาเฉพาะหน้าเพื่อข้ามไปทำอย่างอื่นต่อ..
ถ้าได้วิธีที่ดีกว่าผมก็จะกลับไปแก้ครับ..ยังไงก็ขอบคุณทั้งคนมากๆครับ อย่าเพิ่งบลัฟกันเลยครับ

ป.ล.เพิ่งเข้าใจคำว่า บลัฟ ทีแรกนึกว่าพิมพ์ผิด ไปsearch gg ดูเจอเป็นหมื่น.. ทำให้รู้ว่าเราตกยุคแล้วนี่..

คำเตือน - มีกระทู้ตอบใหม่ 2 กระทู้ ขณะที่คุณพิมพ์ข้อความ อยากให้คุณแสดงตัวอย่างก่อนตั้งกระทู้
บันทึกการเข้า

http://www.thaiseoboard.com/in...250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ
siamman
บุคคลทั่วไป
« ตอบ #24 เมื่อ: 24 ธันวาคม 2008, 12:43:02 »

เอาเข้าจริงๆ เวลาโพสเรื่อง php ที่นี่ส่วนใหญ่จะได้คำตอยบที่มาจากประสบการณ์จริงๆ เพราะที่นนี่สวยใหญ่จะทำเวบกันหลายๆเวบ ประสบการณ์เลยเยอะ และมักจะได้คำตอบที่น่าพอใจ

ผมเห็นบอร์ดอื่นดูโหวงเหวงยังงัยไม่รู้ บางทีคำถามที่คิดว่าน่าจะมีคนตอบก็ไม่มีใครตอบ ท่าทางไม่ค่อยว่างกัน


สงสัยที่นี่คนตกงานรวมตัวกันเยอะกว่าที่อื่นแฮะ  Cheesy
บันทึกการเข้า
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #25 เมื่อ: 24 ธันวาคม 2008, 13:00:00 »

สงสัยที่นี่คนตกงานรวมตัวกันเยอะกว่าที่อื่นแฮะ  Cheesy

555+ ว่าจะพักมือ แต่ขอตอบหน่อย +1 เลย Cheesy

ปล. เหตุที่ join ไม่มี on เพราะไม่ได้ต้องการสร้างความสัมพันธ์ระหว่างการ join
ปล2. จริงๆ ไม่อยากใช้คำว่าบลัฟเหมือนกัน แต่ไม่รู้จะใช้คำิอะไรดี ^^"
(รู้จักแต่คำนี้ เพราะใช้ในวงการค้าเลยเจอบ่อย = =")
บันทึกการเข้า

Seree
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #26 เมื่อ: 24 ธันวาคม 2008, 15:41:03 »

ผมเข้าใจว่าต้องการเพิ่มการเปรียบเทียบฟิลด์อื่นๆเข้าไป เช่น "จาก keyword A -> keyword B" และอื่นๆ

ลองแบบนี้ดูนะครับ สำหรับฟิลด์อื่นจะทำคล้ายๆกันครับ เพิ่มไปเรื่อยๆ แต่มันจะยิ่งช้าครับ

โค๊ด:
select distinct domain,
ifnull(
(select concat(pr,'->',l1.pr) from Lab l2 where l1.domain=l2.domain and chk=4),
'New') 'PRstatus',
ifnull(
(select concat(keyword,'->',l1.keyword) from Lab where l1.domain=domain and chk=4),
'New') 'KWstatus'
from Lab l1
where chk=5
union
select distinct domain,
'Deleted'
from Lab l1
where chk=4 and (select count(*) from Lab where domain=l1.domain and chk=5)=0
;

วิธีด้านบนยิ่งเพิ่มจำนวนฟิลด์จะยิ่งช้าครับ ลองอันนี้ดูนะครับว่าผลลัพธ์ได้คล้ายที่ต้องการหรือเปล่า เพราะมันจะเร็วกว่านะครับ

โค๊ด:
select distinct domain,
concat(pr,'->',l1.pr) 'PRstatus',
concat(keyword,'->',l1.keyword) 'KWstatus'
from Lab l1 inner join Lab l2 on l1.domain=l2.domain
union
select distinct domain,
'Deleted',''
from Lab l1
where chk=4 and (select count(*) from Lab where domain=l1.domain and chk=5)=0
select distinct domain,'',
'New'
from Lab l1
where chk=4 and (select count(*) from Lab where domain=l1.domain and chk=4)=0
;

ลองดูก่อนนะครับว่าได้มั้ย ถ้าได้แล้วจะจบให้ด้วยวิธีทำให้ select count(*) สุดท้ายเหลืออันเดียวครับ ซึ่งจะเร็วขึ้นเยอะครับ (แต่ขอไปลองดูก่อนเพราะปกติทำแต่ใน MS SQL Server น่ะครับ)

ผมว่าถ้าข้อมูลมันเยอะๆล่ะก็น่าจะทำในแนวกึ่งๆ data warehouse ดีมั้ยครับ? คือเมื่อมีการ update โดเมน A เกิดขึ้น ก็ให้ไปอัปเดทตัวเลขหรือการเปลี่ยนแปลงต่างๆใน table ที่เอาไว้เก็บผลลัพธ์โดยเฉพาะน่ะครับ จะได้...
- ไม่ต้องเสียเวลา query จากข้อมูลเยอะๆ เพราะช้าแน่นอน
- ไม่ต้องกังวลเรื่อง index เพราะถ้าสร้าง index เอาไว้เยอะๆเพื่อเวลา query จะได้เร็วๆ เวลาเพิ่ม/แก้ไขข้อมูลก็จะช้ากลับกันอีกครับ

ลองดูความเห็นของท่านอื่นด้วยนะครับ

ขอบคุณครับ

ขอบคุณครับ
« แก้ไขครั้งสุดท้าย: 24 ธันวาคม 2008, 15:48:00 โดย Seree » บันทึกการเข้า
ManyMoney
คนรักเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 192



ดูรายละเอียด เว็บไซต์
« ตอบ #27 เมื่อ: 25 ธันวาคม 2008, 04:17:58 »

ขอบคุณครับ สงสัยผมควรกลับไปออกแบบฐานข้อมูลใหม่ดีกว่า
ให้เป็นแบบอัปเดทตัวเลขหรือการเปลี่ยนแปลงต่างๆใน table น่าจะเร็วกว่าใช่ไหมครับ

เพราะวิธีปัจจุบันมันaddทั้งหมด
จริงๆควรจะaddเฉพาะที่มีการเปลี่ยนแปลงและที่ไม่เคยมีในฐานข้อมูล
บันทึกการเข้า

http://www.thaiseoboard.com/in...250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ
ManyMoney
คนรักเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 192



ดูรายละเอียด เว็บไซต์
« ตอบ #28 เมื่อ: 25 ธันวาคม 2008, 04:15:45 »

ผมลองออกแบบดูใหม่ งั้นก็จะกลายเป็นว่า

จาก  TABLE_A
domain      | update                 | keyword          | pr | check
---------------------------------------------------------------------------------------------------------------------------------
google.com   | 2008-10-11 13:01 | seo,search engine,google    | 1 | 3
google.com   | 2008-11-02 21:01 | search engine,google       | 1 | 4
live.com      | 2008-11-02 10:17 | live,microsoft,search      | 2 | 4
nipa.com      | 2008-11-01 08:23 | nipa,ads,thai       | 9 | 4

ผมมีข้อมูล text ไฟล์ที่ต้องการ add ลง db
----------------------------------------------------------------------------------------------------
google.com|2008-11-02 21:01|search engine,google|2
live.com|2008-11-02 10:17| live,microsoft,search|2
thaiseoboard.com|2008-11-04 11:34|ไทยเสียว,seo,หาเงิน|9
----------------------------------------------------------------------------------------------------
ผมจะ แบ่งที่ละบรรทัด และ split | ออกได้เป็นชุดๆแล้ว

ผมจะเริ่มจาก select max(check) from table_A ก่อนแล้ว เพื่อหาค่าสูงสุดของ check ใน tableนี้ สมมุติว่าเป็น $max_check

แล้วผมก็จะไป foreach ค่าที่ได้จาก text ทำทีละบรรทัดเอา แล้วไปselect ที่ละบรรทัดดังนี้

select domain From table_A where domain = $text_domain And check = $max_check
if ถ้าselect แล้วไม่มีค่า แสดงว่าเป็นการเพิ่มใหม่ ผมต้องทำ 2 อย่างคือ
1. add ลง table_A โดยมีค่า check=$max_check+1
2. add ลง table_update โดยเก็บค่า $max_check+1 กับชื่อ domainเท่านั้น (ต้องสร้างtableนี้ขึ้นมาใหม่เพื่อ จะได้รู้ว่าdomainอะไรถูกเพิ่มใหม่หรือแก้ไขบ้าง)

ผมกำหนดให้ table_update มี field เป็นดังนี้
domain | check | change | fromto


else แต่ถ้า selectแล้วมีค่าdomainนั้นๆ แสดงว่าต้องมาตรวจสอบว่าข้อมูลตรงกันทั้งหมดไหม? เป็นไปได้ 2 อย่างคือ
1. ถ้าตรง ต้อง update check (ของ table_a) ให้เป็น $max_check+1
2. แต่ถ้าไม่ตรงแค่ช่องใดช่องหนึ่ง ต้อง add ข้อมูลใหม่เพิ่มเข้าไปทุกช่องทั้งหมด โดยให้ (table_a)มีcheck = $max_check+1
และ ไปเพิ่มข้อมูลใน table_update ด้วย โดยเอาชื่อfieldที่ไม่ตรงกันไปใส่ใน change แล้วเอาค่าไม่ไม่ต้องกันทั้งคู่ไปใส่ใน formtoโดยมีเครื่องหมาย - ขั้น  ****

ดังนั้น table_a ก็จะกลายเป็น

domain      | update                 | keyword          | pr | check
---------------------------------------------------------------------------------------------------------------------------------
google.com   | 2008-10-11 13:01 | seo,search engine,google    | 1 | 3
google.com   | 2008-11-02 21:01 | search engine,google       | 1 | 4
live.com      | 2008-11-02 10:17 | live,microsoft,search      | 2 | 5
nipa.com      | 2008-11-01 08:23 | nipa,ads,thai       | 9 | 4
google.com   | 2008-11-02 21:01 | search engine,google       | 2 | 5
thaiseoboard.com   | 2008-11-04 11:34 | ไทยเสียว,seo,หาเงิน      | 9 | 5

คือ live ไม่เปลี่ยนแปลง จึง update check เป็น 5
ส่วน google มี pr จาก1เป็น2 จึงต้อง add ขึ้นมาใหม่
และ thaiseoboard.com เป็นของใหม่จึง addไปเฉยๆ

ส่วน table_update ก็จะกลายเป็น
domain | check | change | fromto
--------------------------------------------------------
google | 5 | pr | 1-2
thaiseoboard | 5 | add |

แล้วที่นี้ผมจะรู้ได้ยังไงว่า อะไรถูกลบไปจาก check4ไป check5
ซึ่งจริงๆวิธีผมก็อาจจะ select domain ที่ check=4 ทีละอันไป เทียบกับ check=5 ****
แล้วเอาไป add ใน table_update โดยใส่คำว่า del ลงไปในช่อง change

table_update ก็จะกลายเป็น
domain | check | change | fromto
--------------------------------------------------------
google | 5 | pr | 1-2
thaiseoboard | 5 | add |
nipa| 5 | del

จบครับ
ทั้งหมดนี้คือสิ่งที่ผมออกแบบระบบใหม่ ไม่รู้ว่าถูกต้องหรือดีที่สุด หรือเปล่า ในกรณีนี้คือไม่ add textทั้งหมดลงไปใน database แต่จะ add เฉพาะที่เปลี่ยนแปลง database จะเล็กลงเยอะมากๆๆ

เพราะข้อมูล text มีหลายบรรทัด
จริงๆระบบมันไม่ได้ยากเลย แค่การตรวจสอบการเปลี่ยนแปลงของข้อมูล
ปัญหาคือว่า ผมยังไม่เก่ง ทั้ง mysql และ array วิธีของผมคือ select แยกทีละครั้งแล้วมาเทียบกัน
จึงอยากขอคำแนะนำว่า ควรทำอย่างไร ให้ออกมาเป็นอย่าง 2 table นี้ครับ และระบบทำงานได้เร็วที่สุด?
รบกวนผู้เชียวชาญทุกท่านด้วยครับ

ป.ล.ส่วนที่เป็น **** คือผมไม่รู้จะเขียนยังไงครับ
บันทึกการเข้า

http://www.thaiseoboard.com/in...250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ
google_bb
ก๊วนเสียว
*

พลังน้ำใจ: 15
ออฟไลน์ ออฟไลน์

กระทู้: 311



ดูรายละเอียด
« ตอบ #29 เมื่อ: 25 ธันวาคม 2008, 15:29:19 »

มาดูครับ
บันทึกการเข้า
ManyMoney
คนรักเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 192



ดูรายละเอียด เว็บไซต์
« ตอบ #30 เมื่อ: 26 ธันวาคม 2008, 00:15:04 »

ขออนุญาติดันครับ

บันทึกการเข้า

http://www.thaiseoboard.com/in...250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #31 เมื่อ: 26 ธันวาคม 2008, 00:29:53 »

ไม่รู้ตอบไงดีแล้วครับ
แบบว่าถามเยอะจนนึกว่าจับมือสอน

เป็นอีกครั้งที่ผมยกธงขาว  Tongue

ตอบม่ายหว่าย   Lips Sealed
บันทึกการเข้า

ManyMoney
คนรักเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 192



ดูรายละเอียด เว็บไซต์
« ตอบ #32 เมื่อ: 26 ธันวาคม 2008, 06:17:45 »

โทษทีครับ ยอมรับครับว่าถามเยอะไป.. มันยากสำหรับผมมากครับ ข้ามไปก่อนแล้วกันนะครับ..

ผมขอถามสั้นๆครับ อีก1คำถามครับ


จากตารางนี้
id | phone | gp | sub | rate |
-----------------------------------------------
1 | 0241234567 | A | Less  | 150
2 | 0241234567 | B | More | 49
3 | 0241234567 | A | Less  | 200 

ผมต้องการselect แถวที่มี phone,gp,sub ซ้ำกัน ให้ได้ id=1และ3 ต้องเขียนยังไงครับ
บันทึกการเข้า

http://www.thaiseoboard.com/in...250.msg2456335.html#msg2456335 หานายทุนโรงไฟฟ้าพลังสะอาด

ขายที่ดินสวนผึ้ง พร้อมบ้าน7หลัง รวม12ไร่ ด้านหน้าติดถนน ด้านหลังติดเขา มีธารน้ำ วิวสวยที่สุดในสวนผึ้ง ขายรวม 12.7 ล้านบาท ภบท.5 สนใจpmขอดูรูปได้เลยครับ
หน้า: 1 [2]   ขึ้นบน
พิมพ์