Page 1 of 1

ช่วยดู group by ให้หน่อยครับ

Posted: 20/09/2007 2:59 pm
by sudtielove
SELECT DISTINCT cardnumber, trxid, trxdatetime, trxref
FROM transactions

ซอซข้างบนนี้ก็มันก็ไม่ยอมกรุ๊ปให้อ่ะครับทั้งๆที่คิดว่าน่าจะได้มีอะไรผิดตรงไหนเหรอครับ
(ค้นได้แต่ไม่ยอมกรุ๊ป)

SELECT cardnumber, trxid, trxdatetime, trxref
FROM transactions
GROUP BY cardnumber

ส่วนอันนี้มันไม่ผ่านเลยอ่ะครับ

SELECT cardnumber,count(cardnumber)
FROM transactions
GROUP BY cardnumber

ที่ค้นแล้วกรุ๊ปมีแต่อันนี้อ่ะครับ แต่ผมต้องการข้อมูลทั้งหมดผมเลยใช้

SELECT *
FROM transactions
WHERE cardnumber in (SELECT cardnumber
FROM transactions
GROUP BY cardnumber
)
มันก็ค้นได้ครับแต่ก็ออกมาหมดอีก มันไม่ยอมกรุ๊ปให้
ฐายข้อมูลผมใช้ mssql ครับ
:evil: :evil: [/b]

Posted: 20/09/2007 3:19 pm
by mindphp
ตารางมีโครง สร้าง อย่างไร ครับ

นี่ครับพี่

Posted: 20/09/2007 4:26 pm
by sudtielove
trxid numeric(18, 0) not null
cardnumber char(16) null
trxdatetime smalldatetime null
trxref char(12) null
:?:
ไม่มีไพรมารี่คีย์ครับ

คือว่าอย่างนี้อ่ะครับ

Posted: 20/09/2007 10:40 pm
by sudtielove
คือผมต้องการค้น ทุกฟิล์ดหน่ะครับ แต่ให้มันกรุ๊ปตัว cardnumber ให้หน่ะครับ จากโค๊ดด้านบน ยังไม่สำเร็จครับ บางอันกรุ๊ปได้แต่ไม่ครบ บางอันค้นได้ครบทุกฟิลด์แต่ไม่กรุ๊บให้ครับ ช่วยหน่อยครับ รายละเอียดตารางตามข้างบนนะครับ

Posted: 21/09/2007 7:45 am
by mindphp
ลิงเปลี่ยน ไปใช้ Having ดูครับ
ขออภัยไม่ ถนัด mssql

ตอบ Sql GROUP BY cardnumber

Posted: 24/09/2007 11:52 pm
by yossung
SELECT cardnumber,count(cardnumber)
FROM transactions
GROUP BY cardnumber

แก้จากเดิมนิดเดียวเป็น
SELECT cardnumber,count(ให้ใส่ ฟิลล์ที่เป็น ID ของตรราง)
FROM transactions
GROUP BY cardnumber

ก็เป็นอันเสร็จ ชัว