ๅคใใฎไบบใไบคๅทฎใใ้้ใ่จ็ฎใใๅฟ ่ฆใซ็ด้ขใใฆใใใจๆใใพใใ ใใใใ็งใๅ ๆฅ็ด้ขใใไปไบใฏใใใใชใใจใงใฏใใใพใใใงใใใ ใใใใใพใๆๅใซใ
็ทๅฝขๅๅ็ฉบ้ใงไบคๅทฎใใ้้ใ่จ็ฎใใ
ไบคๅทฎใใ้้ใซใคใใฆๆขใซ่ใใฆใใๅ ดๅใฏใ ใใใซ้ฒใใงใใ ใใ ใ
็ด็ทไธใฎๆ้้้๏ผๆ้้้๏ผใฎไบค็นใฎ่จ็ฎใฏ้ฃใใใใใพใใใ 5ใคใฎใฟใคใใฎไธๆ็ใชไบคๅทฎ็นใๆกไปถไปใใงไฝฟ็จใงใใพใใ
1ใคใฎๆ้ใปใฐใกใณใใใ\ \ใใใใ1ใคใฎใปใฐใกใณใใใ/ /ใใจใใฆ็คบใใพใใ
- ๆ้่ปธใ/ \ / \ใใงๅๆนใซใชใใปใใ
- ๆ้่ปธใ\ / \ /ใใซๆฒฟใฃใฆๅพๆนใซใชใใปใใ
- ๅบ็พ "/ \ \ /"
- ๅธๅ "\ / / \"
- XXใซไธ่ด
ใใใใฃใฆใ่จๅท<ใ>ใใใณ=ใไฝฟ็จใใฆใ็นๅฎใฎๅไบคๅทฎ็นใ่กจ็พใงใใพใใ ใใใฆใๅ ตๅจๅบซใซ่จๅท<= and> =ใใใใจใ่จ็ฎ็จใฎใใณใใฌใผใใฎๆฐใ4ใคใซๆธใใใใจใใงใใพใ๏ผใใใใฃใฆใใใผใธใใๅ ฅๅใใจใไธ่ดใใใๅธๅใใจใไธ่ดใใใใใซใฏใๅคไฝใใจใไธ่ดใ๏ผ ใ ใใใซใใๅคไฝใใฎ็นๅฅใชๅ ดๅใ่ๆ ฎใใฆใใๅ ฅๅใใพใใฏใๅธๅใใฎใใใใ๏ผไธกๆนใงใฏใชใ๏ผใๅปๆญขใงใใพใใ
ใใใใฃใฆใๆฌกใฎๅฝขๅผใฎใใผใใซใใใใพใใ
ใฆใผใถใผ | ๅงใใ | ็ตใใ |
user1 | 2 | 7 |
user2 | 5 | 9 |
user3 | 8 | 11 |
user4 | 1 | 12 |
ใใผใใซใใ็นๅฎใฎ้้๏ผ4ใ8ใชใฉ๏ผใ่ถ ใใใในใฆใฎใฆใผใถใผใ้ธๆใใใซใฏใใฏใจใชใไฝฟ็จใใพใใ
SET @start:=4; SET @end:=8; SELECT * FROM `table` WHERE (`start` >= @start AND `start` < @end) /* */ OR (`end` <= @end AND `end` > @start) /* */ OR (`start` < @end AND `end` > @start) /* - */ OR (`start` >= @start AND `end` <= @end)/* */
ใใฎใฏใจใชใฏใ1็ช็ฎใ2็ช็ฎใ3็ช็ฎใฎใฆใผใถใผใ่ฟใใพใใ ใจใฆใ็ฐกๅใงใใ
ใใ ใใใใใฐใใฐใใฎ้้ใ้ธๆใใใๅ ดๅใฏใฉใใงใใใใ๏ผ
ๅฎ้ใใในใฆใใใใซๅ็ดใงใใไบคๅทฎใจใฏๅฏพ็ ง็ใซใNOTไบคๅทฎใฎๅ ดๅใฏ2ใคใใใใใพใใใ
- ๅพๆนใชใใปใใ "\ \ / /"
- ๅๆนใชใใปใใ "/ / \ \"
้ฃ็ถใใๆ้ใงใใใ้้ใฎ็ตใใใๅฅใฎ้้ใฎๅงใพใใใๅฐใใใใฉใใใ็ขบ่ชใใใ ใใงใใ
ใใใฆใSQLใฏใจใชใฏ
SET @start:=4; SET @end:=8; SELECT * FROM `table` WHERE `start` >= @end OR `end` <= @start /* */
ใใใฆใใใใงๅผใฎๅฆๅฎใๆใๅบใใพใใ ไบคๅทฎ็นใใใ้ไบคๅทฎ็นใฎ่จ็ฎใใฏใใใซ็ฐกๅใชๅ ดๅใใในใฆใฎ้ไบคๅทฎ็นใใใญใใใใชใใฎใฏใชใใงใใ๏ผ
WHERE NOT ( `start` >= @end OR `end` <= @start )
ใใฉใฑใใใ้ใใพใ๏ผ Yggazใซๆ่ฌ๏ผ๏ผ
WHERE `start` < @end AND `end` > @start
ใใใ๏ผ ใในใฆใใฏใใใซ็ฐกๆฝใงใ๏ผ
ใใใฏใในใฆ้ๅธธใซ็พใใใ็ด ๆดใใใไฝๅใงใ...ใฟใคใ ใฉใคใณใฏใพใฃใใใงใใ
้ใใๅๅ็ฉบ้ใงใฎ้้ใฎ่จ็ฎ
ใฟใคใ ใฉใคใณใง่จ็ฎใ่จ็ฎใใพใใใ ใงใฏใใ้ใใใๅๅ็ฉบ้ใจใฏไฝใงใใ๏ผ
ใใใฏๅๅ็ฉบ้ใงใใใไธๆฌกๅใไฝฟใๆใใใใใจใๆฐใใ้ ๅบใซๅใๆฟใใใใจใฏใใใพใใใใๆๅใซๆปใใพใใ
็ทๅฝขๅๅ็ฉบ้๏ผ
0ใ1ใ2ใ3ใ4ใ5ใ6ใ7ใ8ใ9ใ10ใ11ใ12ใ13ใ14ใ...
้ใใๅๅ็ฉบ้๏ผ
0ใ1ใ2ใ3ใ4ใ5ใ6ใ7ใ8ใ9ใ0ใ1ใ2ใ3ใ4ใ...
ไปไบใฎในใฑใธใฅใผใซใ่จ่ผใใใใใผใใซใใใใจไปฎๅฎใใพใ๏ผ24ๆ้ๅถๆฅญใฎใณใผใซใปใณใฟใผใซใใพใใใ๏ผใ
*่กจ็พใ็ฐกๅใซใใใใใๅใ00ใใฏ็็ฅใใใฆใใพใ
ใฆใผใฉใผ | ๅงใใ | ็ตใใ |
usrer1 | 0 | 6 |
usrer2 | 6 | 12 |
usrer3 | 12 | 18 |
usrer4 | 18 | 23 |
็งใฏ10ใใ19ใพใงๅใใฆใใใใฉใฎๅดๅ่ ใ็งใฎๅคๅในใฑใธใฅใผใซใ่ถ ใใใใ็ฅใใใใงใใ
ในใญใผใ ใฎๆฉใๆฎต้ใง้ธๆใ่กใใพใใ
SET @start:=10; SET @end:=19; SELECT * FROM `table` WHERE NOT ( `start` >= @end OR `end` <= @start )
ใในใฆใ็ด ๆดใใใ๏ผ ้้ใ็งใฎๅดๅ่ ใจ้่คใใ3ไบบใฎๅดๅ่ ใใใใผใฟใๅใๅใใพใใใ
ใใฆใๅคๅใใใใฉใใชใใพใใ๏ผ 20ใใ6ใพใง่จใฃใฆใฟใใ๏ผ ใคใพใใ็งใฎ้้ใฎๅงใพใใฏใใฎ็ตใใใใๅคงใใใงใใ ใใใใฎๆกไปถไธใงใใผใใซใใ้ธๆใใใจใๅฎๅ จใชใใณใปใณในใ่ฟใใใพใใ ใคใพใใๆ้้้ใใใผใญใๆฅใใผใฏใ่ถ ใใใจใฏใฉใใทใฅใ็บ็ใใพใใ ใใใใ็ตๅฑใฎใจใใใใใผใญใใใผใฏใจไบคๅทฎใใ้้ใใใผใฟใใผในใซไฟๅญใงใใพใใ
2ๆฅๅใซๅๆงใฎๅ้กใ็บ็ใใพใใใ
้็ทๅฝขๆง้ ใฎใใผใฟใๅซใ่กจใใใฎ็ทๅฝขๆณใซใใใตใณใใชใณใฐ้้ใฎๅ้กใ็ด้ขใใฆใใพใใใ
็งใๆๅใซๆใใคใใใฎใฏใใใฎๆฅใฎในใใผในใ48ๆ้ใซๆกๅผตใใใใใซใใฃใฆใใผใญใใใผใฏใๅใ้คใใใจใงใใใ ใใใใใใฎ่ฉฆ่กใฏใฏใฉใใทใฅใใพใใ-1ใใ3ใฎ้้ใ22ใใ27ใฎใตใณใใซใซๅฐ้ใงใใชใใฃใใใใงใ๏ผ3๏ผใ ใใ๏ผ ใใใงใ24ใฎๆฐๅคใทในใใ ใใใๅ ดๅใ2ๆฌก่จๅทใจใในใฆใฎใใฎใๅ็ดใซๅ้คใใพใใ
ใคใณใฟใผใใใใงใใฎๅ้กใฎ่งฃๆฑบ็ญใ่ฆใคใใใใจใใพใใใ ใ็ทๅฝขใๆ้ใฎ้้ใฎไบคๅทฎใซ้ขใใๆ ๅ ฑใฏๅๅใงใใใ ใใใใใใฎ่ณชๅใฏๅบใ่ญฐ่ซใใใชใใฃใใใSQLใฎ้ไบบใใฝใชใฅใผใทใงใณใใๅฝผใ่ช่บซใฎใใใซใไฟๆใใฆใใพใใใใฏใญใผใบใใทในใใ ใฎใฉใใซใ่งฃๆฑบ็ญใฏใใใพใใใงใใใ
ไธ่ฌ็ใซใใขใใใคในใใฉใผใฉใ ใงๆๅฐ่ ใซๅฐใญใใจใ่งฃๆฑบ็ญใๅพใใใพใใใใใผใญใใจไบคๅทฎใใ้้ใ2ใคใฎ้จๅใซๅๅฒใใ2ใคใฎ็ทๅฝข้้ใๅๅพใใไธกๆนใใใผใใซใฎ้้๏ผ2ใคใฎ้จๅใซๅๅฒใใๅฟ ่ฆใใใใพใ๏ผใจๆฏ่ผใใๅฟ ่ฆใใใใพใใใผใญใ่ถ ใใๅ ดๅ๏ผใ ่งฃๆฑบ็ญใฏๆฉ่ฝใใ้ๅธธใซๅฎๅฎใใฆใใพใใใใ้ขๅใงใใใ ใใใใใในใฆใใใฏใใใซๅ็ดใใงใใใจใใๆ่ฆใฏ็งใ้ขใใพใใใงใใใ
ใใใฆใใใฎ่ณชๅใฎใใใซๆฐๆ้ใ้ธๆใใๅพใ็งใฏใใผใใจ้็ญใๅใใพใใ...็งใฏ็งใๅพใใใฎใใใใใใพใ๏ผ
![็ปๅ](https://habrastorage.org/getpro/habr/post_images/fa6/29a/188/fa629a18835c8af66dee665c37cd4122.jpg)
ไธ็ชไธใฎ่กใฏใใใฎๆฅใ้ใใๆ้ใฎ็ทใใคใพใๅใงใใใจใใใใจใงใใ
ใใใฆใๆ้้้ใฏใใฎๅใฎๅผงใฎๆฌ่ณชใงใใ
ใใใใฃใฆใ้ไบคๅทฎใ็กๅนใซใใใใใซ๏ผๆ็จฟใฎๆๅใฎ้จๅใๅ็ ง๏ผใ้ไบคๅทฎในใญใผใ ใฎใใขใๆง็ฏใงใใพใใ
![็ปๅ](https://habrastorage.org/getpro/habr/post_images/aae/089/a05/aae089a05a7b971841d49964870bd009.jpg)
![็ปๅ](https://habrastorage.org/getpro/habr/post_images/bea/832/e76/bea832e76a28c1612568437644e25691.jpg)
ๅ่ ใฎๅ ดๅใ้ไบคๅทฎใๅฆๅฎใใใใใฎ้ๅธธใฎ็ทๅฝขในใญใผใ ใใใใพใใ 2็ช็ฎใฎใขใผใฏใงใฏใใใผใญใใใผใฏใๆๅถใใใพใใ 3็ช็ฎใฎใฑใผในใใใใพใใใใใฏใไบคๅทฎ็นใจใใฆใใใซๅใๅ ฅใใใใพใ๏ผไบคๅทฎ็นใฎๅฆๅฎใใชใๅ ดๅ๏ผใ
![็ปๅ](https://habrastorage.org/getpro/habr/post_images/f55/726/523/f557265235728fe13840f09c76f75612.jpg)
ๅบๅฐใจๅฐใ็ตกใฟๅใฃใฆ๏ผ้ๅธธใซ็งๅญฆ็ใช็ช็ ดใฎๆนๆณใไฝฟ็จใใฆใใใจใใใใใใพใ๏ผใ็งใฏใใฎ่ฆๆฑใใชใใจใๅ้ใใใใจใใงใใพใใใ
SET @start:= X ; SET @end:= Y; SELECT * FROM `lparty_ads` WHERE ((`prime_start` < `prime_end` AND @start < @end) AND NOT (`prime_end`<= @start OR @end <=`prime_start` ) OR (( (`prime_start` < `prime_end` AND @start > @end) OR (`prime_start` > `prime_end` AND @start < @end)) AND NOT ( `prime_end` <= @start AND @end <= `prime_start` )) OR (`prime_start` > `prime_end` AND @start > @end))
ใใใฆใ kirillzorinใใใฎใณใกใณใใใใฎ็ฐกๆ็๏ผ
set @start := X; set @end := Y; select * from tab where greatest(start, @start) <= least(end, @end) or ((end > @start or @end > start) and sign(start - end) <> sign(@start - @end)) or (end < start and @end < @start);
ใชใฏใจในใใฏๅฎๅ จใซๆฉ่ฝใใๆใ้ข็ฝใใฎใฏใๆ้ใๆฅใ้ฑใๆใๅนดใชใฉใฎใฏใญใผใบใใใณใใผใทในใใ ใซๅฝใฆใฏใพใใพใใ ใใใงใใใใฎใกใฝใใใฏ่ฟฝๅ ใใฃใผใซใใชใฉใฎใใฏใฉใณใใใไฝฟ็จใใพใใใ
ใใใใใ็งใฏ่ช่ปข่ปใ็บๆใใพใใใ ใใใใ็ง่ช่บซใๅฟ ่ฆใชใจใใซใใฎใใใชๆ ๅ ฑใ่ฆใคใใใใชใใฃใใจใใไบๅฎใ่ๆ ฎใใใจใใใฎๆนๆณใฏใใพใๅบใๆฑใใใฆใใชใใจๆใใพใใ ใใใง็งใฎ่ฉฑใฏ็ตใใใงใใ