ไว้คราวหน้า X
ไว้คราวหน้า X
ไม่ต้องแสดงข้อความนี้อีกเลย
ไปหน้าที่ 1, 2
ไปที่หน้า
GO
ตั้งกระทู้ใหม่
ฝากรูป
ผู้ตั้ง
ข้อความ
ออฟไลน์
นักบอล ดิวิชั่น 1
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 28 Sep 2008
ตอบ: 6133
ที่อยู่: FB : SS Cardz
โพสเมื่อ: Sun Jun 24, 2018 22:42
ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ
Spoil


ข้อ 3 A,B ถ้าเขียนเป็นภาษา SQL พอจะไกด์เป็นแนวทางได้ไหม
พอดีเพื่อนผมขอความช่วยเหลือมาแต่มันคนละสายกับที่ผมเรียนครับ


0
0
หากโดน 40 เรื้อน จะถูกแบน
โหวตเป็นกระทู้แนะนำ
ออฟไลน์
นักเตะอบจ.
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 08 Nov 2010
ตอบ: 1807
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 22:51
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
ไม่ค่อยแน่ใจนะครับ ไม่ได้ใช้ sql นานแล้ว
ข้อ A.
1. สร้าง column ใหม่ ให้เขื่อนไขว่าเป็น 1 ถ้า > 10000 เป็น 0 ถ้าไม่ใช่
2. rolling sum ในหน้าต่าง 3 ช่อง ซึ่ง column นั้น ถ้ามี 10000 ติดกันสามวัน จะมีผล sum เป็น 3 โผล่มา
3. กรองหา ผล rolling ถ้ามีมากกว่า 3 ก็ return ตามโจทย์
แก้ไขล่าสุดโดย Excalibur เมื่อ Sun Jun 24, 2018 22:52, ทั้งหมด 1 ครั้ง
1
0
หากโดน 40 เรื้อน จะถูกแบน
Once a Gooner, Always a Gooner
ออฟไลน์
โคตรตำนานซ็อคเกอร์ซัค(ระดับสูงสุด)
Status: ♥o♥)여자친구 ♥♫ (ง'̀-'́)ง 프로미스나인 ♥♫ (✿˵◕‿◕˵)이달의소녀 ♥♫
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 12328
ที่อยู่: Source Music.
โพสเมื่อ: Sun Jun 24, 2018 22:55
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
เห็นข้างบนเขียน Java แต่อยากให้ไกด์เป็น SQL สรุปคือจะเอาภาษาไหน ผมจะได้ไกด์ถูก
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
นักบอล ดิวิชั่น 1
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 28 Sep 2008
ตอบ: 6133
ที่อยู่: FB : SS Cardz
โพสเมื่อ: Sun Jun 24, 2018 22:56
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
Taerg พิมพ์ว่า:
เห็นข้างบนเขียน Java แต่อยากให้ไกด์เป็น SQL สรุปคือจะเอาภาษาไหน ผมจะได้ไกด์ถูก  


เอาเป็น SQL ครับ เพื่อนผมถนัด JAVA แต่ SQL ไม่เป็นเลยครับ
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
กำเนิดดาวรุ่ง
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 07 Feb 2010
ตอบ: 1819
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 22:57
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]





Spoil

WireMonitoring() {
int count = 0;

while(Amount > 10000 && Transactiontype = "Wire")
{
count++;
}

return count >= 3 ? 150 : 0;
}

concept ประมานนี้ครับ แต่จริงๆต้องเอา record มาวนทีตัวละครับ
 
1
0
หากโดน 40 เรื้อน จะถูกแบน
ออนไลน์
ดาวเตะลา ลีกา
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 13 Mar 2018
ตอบ: 4765
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 22:58
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
จะเอาภาษาไหนกันแน่ ข้อ 2 SQL นะ

select case
when salary < 25000 then 'Junior Programmer'
when salary > 2500 and <= 50000 then 'SeniorProgrammer'
else 'Programmer TeamLead'
end 'Salary'
* from table

1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
นักเตะอบจ.
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 08 Nov 2010
ตอบ: 1807
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 22:58
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
ข้อ B.
1. สร้าง rolling mean หน้าต่าง 3 ช่อง
2. สร้าง column จากเงื่อนไขว่า ถ้ามีจำนวนเงิน = rolling mean (3) ของจำนวนเงิน ให้เป็น 1 ถ้าไม่ใช่เป็น 0
3. กรองหา 1 ถ้ามีก็ return
1
0
หากโดน 40 เรื้อน จะถูกแบน
Once a Gooner, Always a Gooner
ออฟไลน์
นักบอล ดิวิชั่น 1
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 28 Sep 2008
ตอบ: 6133
ที่อยู่: FB : SS Cardz
โพสเมื่อ: Sun Jun 24, 2018 22:59
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
Rhaegar พิมพ์ว่า:
จะเอาภาษาไหนกันแน่ ข้อ 2 SQL นะ

select case
when salary < 25000 then 'Junior Programmer'
when salary > 2500 and <= 50000 then 'SeniorProgrammer'
else 'Programmer TeamLead'
end 'Salary'
* from table

 


ถ้าข้อ3เป็นSQLอ่ะครับ
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
กำเนิดดาวรุ่ง
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 07 Feb 2010
ตอบ: 1819
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 23:02
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
Case when SELECT count(*) FROM Transaction where AMount > 10000 AND transactionType = 'Wire' > 3 then 150 else 0

ข้อ 3 sql ประมานนี้ป่ะ
1
0
หากโดน 40 เรื้อน จะถูกแบน
ออนไลน์
ดาวเตะลา ลีกา
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 13 Mar 2018
ตอบ: 4765
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 23:03
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
S-SHINE,* พิมพ์ว่า:
Rhaegar พิมพ์ว่า:
จะเอาภาษาไหนกันแน่ ข้อ 2 SQL นะ

select case
when salary < 25000 then 'Junior Programmer'
when salary > 2500 and <= 50000 then 'SeniorProgrammer'
else 'Programmer TeamLead'
end 'Salary'
* from table

 


ถ้าข้อ3เป็นSQLอ่ะครับ  


เงื่อนไขคือ ถ้า Amount เกิน 10000 จะ return score 150 <--- Score นี่คืออะไร
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
นักเตะตำบล
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Sep 2013
ตอบ: 2360
ที่อยู่: อยู่ไปก็ไร้ความหมาย
โพสเมื่อ: Sun Jun 24, 2018 23:14
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
เรียนม.กรุงเทพ แน่นอน อย่างงี้
1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
กำเนิดดาวรุ่ง
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 11 Aug 2009
ตอบ: 127
ที่อยู่: IT-Kmutnb
โพสเมื่อ: Sun Jun 24, 2018 23:25
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
kaikoo พิมพ์ว่า:
Case when SELECT count(*) FROM Transaction where AMount > 10000 AND transactionType = 'Wire' > 3 then 150 else 0

ข้อ 3 sql ประมานนี้ป่ะ  



เงื่อนไขสามวันติดต่อกันน่าจะยังไม่ตรงตามที่โจทย์ต้องการครับ ถ้าจะให้จบใน SQL ผมพยายามคิดละคิดไม่ออก ถ้าโลจิกผมน่ามียาวกว่านี้ อาจจะเป็น select ซ้อน select หรือเขียนเป็น storeprocedures
1
0
หากโดน 40 เรื้อน จะถูกแบน
CHELSEA FC
BURIRAM UTD
ออฟไลน์
โคตรตำนานซ็อคเกอร์ซัค(ระดับสูงสุด)
Status: ♥o♥)여자친구 ♥♫ (ง'̀-'́)ง 프로미스나인 ♥♫ (✿˵◕‿◕˵)이달의소녀 ♥♫
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 12328
ที่อยู่: Source Music.
โพสเมื่อ: Sun Jun 24, 2018 23:36
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
S-SHINE,* พิมพ์ว่า:
Taerg พิมพ์ว่า:
เห็นข้างบนเขียน Java แต่อยากให้ไกด์เป็น SQL สรุปคือจะเอาภาษาไหน ผมจะได้ไกด์ถูก  


เอาเป็น SQL ครับ เพื่อนผมถนัด JAVA แต่ SQL ไม่เป็นเลยครับ  


ถ้าจะเอาให้จบโดยการ query SQL อย่างเดียวนี่ยากนะ ใช้ Java ช่วยในการหาวันที่ติดกันดีกว่า ซึ่งคอนเซ็ปก็น่าจะราว ๆ นี้

https://pastebin.com/kEwGUKqx

ปล.ผมไม่ได้เขียน Java นานแล้ว Syntax อาจจะมีผิด
1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
ซุปตาร์โอลิมปิก
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 05 Aug 2010
ตอบ: 14186
ที่อยู่:
โพสเมื่อ: Sun Jun 24, 2018 23:58
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
select customer_code, count(*) as cons_days
from transaction, (values (0),(1),(2)) as a(dd)
where transaction_type = 'wire' and Amount >= 10000
group by customer_code, create_date + dd

แล้วก็ select ครอบอีกอันหนึ่ง หาเฉพาะ อันที่ max(cons_days) >= 3 group by customer_code

อันนี้พิมพ์สดนะ อาจจะไม่ถูกตรง Amount มันต้องหา aggregate ของมันหน่อย จำไม่ได้ ขี้เกียจเปิดหา



1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
นักเตะกลางซอย
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 08 Aug 2010
ตอบ: 308
ที่อยู่:
โพสเมื่อ: Mon Jun 25, 2018 01:05
[RE: ใครถนัด Programming รบกวนช่วยเหลือหน่อยครับ]
select * from transaction where amount > 10000 and transaction_type = 'Wire' group by CreateDate order by CustomerCode asc

แล้วไปหาต่อเนื่อง 3 วันเอาใน java
1
0
หากโดน 40 เรื้อน จะถูกแบน
ไปหน้าที่ 1, 2
ไปที่หน้า
GO
ตั้งกระทู้ใหม่
กรุณาระบุเหตุผลที่จะแจ้งความ
ผู้ต้องหา:
ข้อความ:
Submit
Cancel
กรุณาเลือก Forum และ ประเภทกระทู้
Forum:

ประเภท:
Submit
Cancel