 |
ขอแนวทางในการเขียน sql หาตัวเลขหน่อยครับ ว่ามีตัวเลขจำนวนดังกล่าวไหม |
|
 |
|
|
 |
 |
|
เขียนแบบนี้ ถ้าเลขมันซ้ำกันมันก็จะขึ้นมาผิดครับ
เช่นค่าที่รับมาเป็น 121 ใช้แบบด้านล่าง ในฐานข้อมูลเป็น 123 มันก็มาแสดงด้วยครับมีแนวทางอื่นไหมครับ
Code (SQL)
select * from numbertb
where
(number like '%".substr($_POST[number2],0,1)."%' and
number like '%".substr($_POST[number2],1,1)."%'
and
number like '%".substr($_POST[number2],2,1)."%'
|
ประวัติการแก้ไข 2014-04-25 20:31:32
 |
 |
 |
 |
Date :
2014-04-25 20:12:28 |
By :
narubet |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองใช้ OR แทน AND ดูหรือยังครับ
|
 |
 |
 |
 |
Date :
2014-04-25 21:20:37 |
By :
deawx |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าค่าใน db เรียงจากมากไปน้อยตลอดก็
Code (PHP)
$arr = str_split($_POST[number2]);
rsort($arr);
SELECT * FROM numbertb WHERE number REGEXP '.*$arr[0].*$arr[1].*$arr[2].*';
|
 |
 |
 |
 |
Date :
2014-04-25 22:19:04 |
By :
natt_han |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปัญหาคือมันไม่เรียงครับและจำนวนไม่แน่นอนครับเช่น
54321 หรือ 1234 ตัวเลขเหล่านี้สลับตำแหน่งกันได้ครับ แล้วค่าที่เราใช้ค้นหาคือ 1 2 3
ถ้าในตัวเลขดังกล่าวมีเลข 1 2 3 อยู่ไม่ว่าตำแหน่งให้มันแสดงครับ 
|
 |
 |
 |
 |
Date :
2014-04-26 06:58:05 |
By :
narubet |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยากวุ้ย
แบบลูกทุ่ง
Code (SQL)
SELECT * FROM numbertb WHERE number REGEXP '.*$arr[0].*$arr[1].*$arr[2].*'
or number REGEXP '.*$arr[0].*$arr[2].*$arr[1].*'
or number REGEXP '.*$arr[1].*$arr[0].*$arr[2].*'
or number REGEXP '.*$arr[1].*$arr[2].*$arr[0].*'
or number REGEXP '.*$arr[2].*$arr[1].*$arr[0].*'
or number REGEXP '.*$arr[2].*$arr[0].*$arr[1].*'
ว่าแต่ข้อมูลอะไรเหรอครับ ทำไมเก็บแบบนี้ ค้นหาแบบนี้
|
 |
 |
 |
 |
Date :
2014-04-26 09:02:54 |
By :
natt_han |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แต่ถ้าตัวเลขเป็น 34251 เพราะตำแหน่งตัวเลขมัน random ได้ แล้วค่าที่เราใช้ค้นหาคือ 1 2 3
ผมว่าใช้ที่คุณแนะนำ มันน่าจะไม่ได้ครับ
|
 |
 |
 |
 |
Date :
2014-04-26 12:22:46 |
By :
narubet |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (MySQL)
Select * From numbertb
Where 3 = If(Position('1' in number) > 0, 1, 0) + If(Position('2' in number) > 0, 1, 0) + If(Position('3' in number) > 0, 1, 0)
Code (MSSQL)
Select * From numbertb where Contains(number, 'Matching Pattern')
Good Luck.
|
 |
 |
 |
 |
Date :
2014-04-26 13:45:50 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ เห็นทางสว่างแล้วครับ
|
 |
 |
 |
 |
Date :
2014-04-27 12:03:38 |
By :
narubet |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตกลงทำยังไงเหรอครับ อยากรู้
|
 |
 |
 |
 |
Date :
2014-04-28 13:22:09 |
By :
natt_han |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เชื่อผมไหมว่า แทงหวยใต้ดินโอกาสถูกตรงตรงสามตัวบนมีโอกาสได้เงิน มันมีมากว่า
แทงบอล แชมป์พรีเมียลึกของอังกฤษ 2014 ประจำปีนี้ (ลิเวอร์พูน, เซลซี, แมนซิตี้)
คำนวนด้วยความน่าจะเป็น สูตร p = s + l(1/1000) และ p = s x (20 ทีม) x ( 20 * 1/20) ^ 1/loss/win/equal
สรุปง่ายง่ายว่า แทงหวยใต้ดินมีโอกาส ได้เงิน มีมากกว่าแทงบอลว่าทีมไหนชนะและได้เงิน (ต่างกันประมาณ 1,000,000 เท่า)
    
|
 |
 |
 |
 |
Date :
2014-04-28 18:53:19 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สรุปว่า การพนันถ้าคุณได้เป็นส่วนน้อย(คุณ(ทุกทุกคน) ดีใจ)
นั่นคือเขาให้คุณ (เขาอาศัยความรู้สึกของคุณ "กูโชคดีว่ะ") แค่นั้นเองครับ
อาเมน ขอให้พระเจ้าอวยพร
Good Luck.
|
 |
 |
 |
 |
Date :
2014-04-28 19:15:15 |
By :
love9713 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|