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

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

ThaiSEOBoard.comอื่นๆประกาศหาลูกจ้าง-อยากซื้อจนปัญญา ลดสมการ ใครลดได้มีน้ำใจให้ 500 บาท ขอบคุณครับ
หน้า: 1 2 3 [4] 5 6 7   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: จนปัญญา ลดสมการ ใครลดได้มีน้ำใจให้ 500 บาท ขอบคุณครับ  (อ่าน 13063 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
marknary
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #60 เมื่อ: 03 มีนาคม 2011, 15:50:29 »

บันทึกการเข้า
WonderThailand
สมุนแก๊งเสียว
*

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

กระทู้: 729



ดูรายละเอียด
« ตอบ #61 เมื่อ: 03 มีนาคม 2011, 15:50:45 »

ตอบใหม่ครับ   % เครื่องหมาย หารนี่  งั้นทำใหม่ครับ

[A + (AB/100)] + (100 -[A + (AB/100)]%100) = Z

Y=[A + (AB/100)]

Y+(100-Y)/100 = Z
100Y+ 100 +Y = 100Z
101Y+100 = Z    ; แทน Y กลับ
100*[A + (AB/100)]+100 =Z


ก็ลดรูป ได้ 3 แบบ นี้ ไปใส่สูตรคำนสณได้ไม๊ครับ

A(B+100)+100=Z
AB+100A+100=Z
AB+100(A+1)=Z
บันทึกการเข้า

Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #62 เมื่อ: 03 มีนาคม 2011, 15:52:56 »

ผมเริ่ม งง ขอเขียน วิธีการหาให้หน่อยนะครับ
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #63 เมื่อ: 03 มีนาคม 2011, 15:53:53 »

ตอบใหม่ครับ   % เครื่องหมาย หารนี่  งั้นทำใหม่ครับ

[A + (AB/100)] + (100 -[A + (AB/100)]%100) = Z

Y=[A + (AB/100)]

Y+(100-Y)/100 = Z
100Y+ 100 +Y = 100Z
101Y+100 = Z    ; แทน Y กลับ
100*[A + (AB/100)]+100 =Z


ก็ลดรูป ได้ 3 แบบ นี้ ไปใส่สูตรคำนสณได้ไม๊ครับ

A(B+100)+100=Z
AB+100A+100=Z
AB+100(A+1)=Z

% เรียกว่า การ mod ครับ คือการหาเอาเศษ ครับผม
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
m2studio
ก๊วนเสียว
*

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

กระทู้: 353



ดูรายละเอียด เว็บไซต์
« ตอบ #64 เมื่อ: 03 มีนาคม 2011, 15:57:46 »

 Tongue คุณเจ้าของกระทู้ยังไม่ได้ตอบคำถามผมเลยอะ ... เลยยังคงสงสัยต่อไป ว่าทำไมต้อง Query แบบนี้ - -"
บันทึกการเข้า

ร้านค้าออนไลน์แห่งใหม่เปิดให้บริการแล้ว

ร้านค้าออนไลน์
Ecommerce
กระเป๋าสะพาย
กระเป๋าแฟชั่น
marknary
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #65 เมื่อ: 03 มีนาคม 2011, 15:57:53 »



100 ตัวที่หารต้องอยู่ในเครื่องหมาย floor ด้วยนะครับๆ ถูก ต้อง 100% แต่ประสิทธิภาพจะดีขึ้นหรือปล่าวนี่ไม่แน่ใจครับ
บันทึกการเข้า
chinjung01
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,076



ดูรายละเอียด
« ตอบ #66 เมื่อ: 03 มีนาคม 2011, 16:00:12 »

ไม่แน่ใจตรง mod อ่ะครับ อยากถามว่า กำหนดตัวแปลเป็น int ได้ไหมครับ ตอนเก็บค่า mod เพราะ java มันทำได้อ่ะ
จะได้แก้ถูก
บันทึกการเข้า

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

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

กระทู้: 143



ดูรายละเอียด
« ตอบ #67 เมื่อ: 03 มีนาคม 2011, 16:00:43 »

ที่จริง ถ้า ทำแบบ ง่ายๆ เหมือน ธรรมดาก้อ

SELECT WHERE price=1000; จบ

กรณี ปัดเศษ
SELECT WHERE price + เศษปัดครบ 100 =1000; จบ

กรณี ปัดเศษ และ ถ่วงน้ำหนักให้ ง่าย เช่น ปรับราคาขึ้น +5%

SELECT WHERE price + 5 % + เศษปัดครบ 100 =1000; จบ

ดังนั้น SELECT เต็ม นะครับ โชคร้าย A และ B อยู่คนละ table

SELECT A LEFT JOIN B  WHERE price + 5 % + เศษปัดครบ 100 =1000; จบ

และจะได้

SELECT A LEFT JOIN B  WHERE [A + (AB/100)] + (100 -[A + (AB/100)]%100) = Z; จบ Z คือ 1000



ไม่รู้ว่าเข้าใจถูกหรือเปล่านะครับ
คิดว่าเจ้าของกระทู้ต้องการปัดเศษขึ้นให้เป็น จำนวนเต็ม100 โดยต้องการทำใน SQL เลย
ถ้าใช่ก็ใช้ function การปัดเศษที่มีมาเลยก็ได้นี่ครับ
ผมจะใช้ function CEIL() - ใช้สำหรับปัดเศษขึ้นเป็นจำนวนเต็ม แต่ถ้าต้องการเป็นจำนวนเต็ม 100 ก็ประยุกต์นิดหน่อย
ก็จะได้เป็น = (ceil(ค่าที่จะคำนวน/100))*100 ;--100 คือฐาน100 ถ้าต้องการฐาน1000 ก็เปลี่ยนเป็น 1000
ตัวอย่าง
(ceil(526988/100))*100  = 527000
(ceil(629/100))*100 = 700
(ceil(3.2/100))*100 = 100

ก็น่าจะได้เป็น  select (ceil((t1.A + (t1.A*t2.B/100))/100))*100 from t1 left outer join t2  หรือเปล่าครับ





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

Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #68 เมื่อ: 03 มีนาคม 2011, 16:03:16 »

ทำไมไม่ Query เฉพาะช่วงราคาที่ต้องการ หากมีการปรับราคา ก็ค่อย +เพิ่ม เข้าไปตอนแสดงผล


ถามแบบไม่รู้อีกแระ..  Tongue

อ๋อ คำถามดีครับ กรณี LEFT JOIN จะต้อง ทำการ LEFT JOIN แถว A * แถว B ครับ ยกเว้น สร้าง table ปลอม ที่เป็นข้อมูลที่เราต้องการก่อน แล้ว ค่อยทำ LEFT JOIN

ดังนั้น เวลาที่ใช้ ในการ LEFT JOIN เร็วกว่า ที่ สร้าง table ปลอม + LEFT JOIN ครับผม

ผมก็ว่า ไม่ต้องทำเป็นสมการขนาดนี้ก็ได้ป่าวอ่ะ  Tongue ยังงงๆ ตั้งแต่เขียนเว็บมาไม่เคยทำอะไรขนาดนี้เลย


แต่เรื่อง table ปลอมหน่ะ ถ้าสร้างเป็น table แบบไม่ใช่เก็บแค่เป็น temp ที่ query เสร็จแล้วลบหน่ะ ยังไงผมก็ว่าเร็วกว่า left join แน่นอนนะครับ เพราะมันเรียกตรงๆ  wanwan017


สมมุตินะครับ มี table a,b,c 

table a เก็บ แถว a ที่ต้องการ
table b เก็บ แถว b
table c เก็บผลการคำนวณทั้งหมด ทั้ง left join ทุกอย่าง พร้อมแสดงผล   

และใช้วิธีที่ว่า ถ้า table a, b มีการ update หรือ insert เมื่อไหร่ ก็ให้แก้ไขที่ table c ด้วยทุกครั้งอ่ะครับ
แล้วเวลาเรียกใช้งาน ไม่ต้องเรียกผ่าน table a,b เลย เรียกแค่ c ก็พอ


ไม่รู้ผมงงเองรึเปล่า แต่ผมเข้าใจแบบนี้อ่ะครับ ว่าวิธีนี้มันเร็วกว่าการไปคำนวณทุกครั้งที่ query แน่นอนครับ

เป็นวิธีการที่ดีครับ น่าสนใจและสะดวกดีด้วย ขอบคุณมากครับ ลดเวลาและประมวลผล

ความหมายของท่านนี้ คือ
1. สร้าง filed มา 1 field แล้วเก็บผลลัพธ์เลย แล้ว ก้อ

ลด การ JOIN
ลด การคำนวณ

ทำให้ ระบบ เร็วกว่าเดิมได้ดีที่เดียวครับ วิธีนี้ แหล๋ม.....
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #69 เมื่อ: 03 มีนาคม 2011, 16:05:13 »

ที่จริง ถ้า ทำแบบ ง่ายๆ เหมือน ธรรมดาก้อ

SELECT WHERE price=1000; จบ

กรณี ปัดเศษ
SELECT WHERE price + เศษปัดครบ 100 =1000; จบ

กรณี ปัดเศษ และ ถ่วงน้ำหนักให้ ง่าย เช่น ปรับราคาขึ้น +5%

SELECT WHERE price + 5 % + เศษปัดครบ 100 =1000; จบ

ดังนั้น SELECT เต็ม นะครับ โชคร้าย A และ B อยู่คนละ table

SELECT A LEFT JOIN B  WHERE price + 5 % + เศษปัดครบ 100 =1000; จบ

และจะได้

SELECT A LEFT JOIN B  WHERE [A + (AB/100)] + (100 -[A + (AB/100)]%100) = Z; จบ Z คือ 1000



ไม่รู้ว่าเข้าใจถูกหรือเปล่านะครับ
คิดว่าเจ้าของกระทู้ต้องการปัดเศษขึ้นให้เป็น จำนวนเต็ม100 โดยต้องการทำใน SQL เลย
ถ้าใช่ก็ใช้ function การปัดเศษที่มีมาเลยก็ได้นี่ครับ
ผมจะใช้ function CEIL() - ใช้สำหรับปัดเศษขึ้นเป็นจำนวนเต็ม แต่ถ้าต้องการเป็นจำนวนเต็ม 100 ก็ประยุกต์นิดหน่อย
ก็จะได้เป็น = (ceil(ค่าที่จะคำนวน/100))*100 ;--100 คือฐาน100 ถ้าต้องการฐาน1000 ก็เปลี่ยนเป็น 1000
ตัวอย่าง
(ceil(526988/100))*100  = 527000
(ceil(629/100))*100 = 700
(ceil(3.2/100))*100 = 100

ก็น่าจะได้เป็น  select (ceil((t1.A + (t1.A*t2.B/100))/100))*100 from t1 left outer join t2  หรือเปล่าครับ







ท่านนี้ปัดเศษ ครบ 100 ขอบคุณมาก +1 เลย
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
daebae
Newbie
*

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

กระทู้: 72



ดูรายละเอียด
« ตอบ #70 เมื่อ: 03 มีนาคม 2011, 16:06:59 »

ผมขอมั่วมั่ง 555 ถ้ามันทำได้นะ ไม่รู้ว่า * / mod อยู่ในระดับเดียวกันไหม

[A + (AB/100)] + (100 -[A + (AB/100)]%100) = Z

ใช้ วิธี คูณ ด้วย 1 ค่าจะเท่ากับเท่าเดิม

ในที่นี้ ผมเอา [A + (AB/100)]%100 * ด้วย 100 แล้ว ก็หารด้วย 100

คิดตามหลักความเป็นจริง ถ้าเอา  [A + (AB/100)] *100 ก่อนแล้วทำการ modด้วย 100 ค่าที่ได้ออกมา ก็จะได้ค่าเดิม คือ  [A + (AB/100)] ซึ่ง ต้อง < 100

แล้วหลังจากนั้น  [A + (AB/100)(***ต้องน้อยกว่า 100 ยุแร้ว***) /100 ซึ่งจะได้จำนวนเต็มออกมา = 0

ดังนั้นสมการก็จะเหลือ  [A + (AB/100)] + 100 = z

บันทึกการเข้า
marknary
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #71 เมื่อ: 03 มีนาคม 2011, 16:08:41 »

การพิสูจน์โดยเปรียบเทียบค่าจากโปรแกรมคอมพิวเตอร์(เขียนด้วย python)

Thanks: ฝากรูป dictionary
บันทึกการเข้า
hero_tor
คนรักเสียว
*

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

กระทู้: 143



ดูรายละเอียด
« ตอบ #72 เมื่อ: 03 มีนาคม 2011, 16:09:14 »

อิอิ นานๆจะได้ทำตัวมีประโยชน์ซักที  wanwan002
บันทึกการเข้า

Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #73 เมื่อ: 03 มีนาคม 2011, 16:09:29 »

Tongue คุณเจ้าของกระทู้ยังไม่ได้ตอบคำถามผมเลยอะ ... เลยยังคงสงสัยต่อไป ว่าทำไมต้อง Query แบบนี้ - -"

ที่ทำเพื่อให้ เวปมีความยืนหยุ่นสูง

ปัญหา
1. ราคามีเศษ ไม่ครบ 100 ไม่สวย ราคาสินค้า 1526 แบบ นี้ ขาย 1600 จำง่ายกว่า ทำให้ มีเศษปัดครบ 100
2. ราคาทีการปรับขึ้นเป็นประเภทของมัน เช่น ราคา น้ำัมันพ์ช ขึ้น 5% ก้อเลย +5% ทำให้ มีคัวถ่วงน้ำหนัก
3. มีการ JOIN LEFT เพราะ A คือ ราคาสินค้า B คือ ตัว field ที่ไปอยู่ใน ประเภทของสินค้า ก้อเลย อยู่คนละ Table ครับผม

ทำใ้ห้ต้องประมวลผลแบบLEFT JOIN + ปัดเศษครบ 100 + ถ่วงน้ำหนักของสินค้า = ราคา ที่ตรวจสอบ
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
marknary
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #74 เมื่อ: 03 มีนาคม 2011, 16:10:45 »

ผมขอมั่วมั่ง 555 ถ้ามันทำได้นะ ไม่รู้ว่า * / mod อยู่ในระดับเดียวกันไหม

[A + (AB/100)] + (100 -[A + (AB/100)]%100) = Z

ใช้ วิธี คูณ ด้วย 1 ค่าจะเท่ากับเท่าเดิม

ในที่นี้ ผมเอา [A + (AB/100)]%100 * ด้วย 100 แล้ว ก็หารด้วย 100

คิดตามหลักความเป็นจริง ถ้าเอา  [A + (AB/100)] *100 ก่อนแล้วทำการ modด้วย 100 ค่าที่ได้ออกมา ก็จะได้ค่าเดิม คือ  [A + (AB/100)] ซึ่ง ต้อง < 100

แล้วหลังจากนั้น  [A + (AB/100)(***ต้องน้อยกว่า 100 ยุแร้ว***) /100 ซึ่งจะได้จำนวนเต็มออกมา = 0

ดังนั้นสมการก็จะเหลือ  [A + (AB/100)] + 100 = z


อันนี้ถ้า A,B ค่าใหญ่ๆ จะไม่จริงครับ

ข้อจำกัดของคุณคือ [A + (AB/100)]<100 ถ้า [A + (AB/100)] >100 หละ Huh?
บันทึกการเข้า
kongpair
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,721



ดูรายละเอียด
« ตอบ #75 เมื่อ: 03 มีนาคม 2011, 16:11:04 »

ก็ใช้ celi();  อย่างที่เขาว่า น่าจะดีกว่านะครับ
บันทึกการเข้า
Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #76 เมื่อ: 03 มีนาคม 2011, 16:11:17 »

การพิสูจน์โดยเปรียบเทียบค่าจากโปรแกรมคอมพิวเตอร์(เขียนด้วย python)

Thanks: ฝากรูป dictionary

อันนี้ (A+A*B)/100 ไม่ใช่ครับ เป็น A+(A*B/100)
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
Bone
สมุนแก๊งเสียว
*

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

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #77 เมื่อ: 03 มีนาคม 2011, 16:13:47 »

ตอนนี้ มาทางแนว ที่

ท่านที่บอก ให้ เพิ่ม field แล้วเก็บผลลัพธ์ไว้ดีกว่า

1. ลด JOIN
2. ลด คำนวณ

ขอบคุณครับ

ส่วนเืรื่อง สมการแก้ไมได้ เฮ่อ..... ขอบคุณครับ
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
marknary
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #78 เมื่อ: 03 มีนาคม 2011, 16:13:53 »

การพิสูจน์โดยเปรียบเทียบค่าจากโปรแกรมคอมพิวเตอร์(เขียนด้วย python)

Thanks: ฝากรูป dictionary

อันนี้ (A+A*B)/100 ไม่ใช่ครับ เป็น A+(A*B/100)
อ้าวหรอ ทำผมคิดตั้งนาน ก็ว่าทำไมมันยากจัง หุหุ ที่แท้ผมดูสมการผิดนี่เอง
บันทึกการเข้า
marknary
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #79 เมื่อ: 03 มีนาคม 2011, 16:16:43 »

ถ้าเป็นแบบนั้นจะได้สูตรคล้ายเมื่อกี้ครับ เพียงแค่ลบตัวเลข99 ออกไปๆ
บันทึกการเข้า
หน้า: 1 2 3 [4] 5 6 7   ขึ้นบน
พิมพ์