with cte_rank as
(
select
ProductID,
sum(price) as #total,
DENSE_RANK() over (order by sum(price) desc) #Rank
from Table group by ProductID
)
select * from cte_rank where #rank between 1 and 5
2.ถ้าจะเลือกให้ show ข้อมูลยอดขายสินค้า ระหว่างเดือนควรใช้คำสั่งอะไรอ่ะครับ Code (SQL)
select * from table where dateOrder between '' and ''
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim str_ As String = TextBox1.Text
If str_.ToString.IndexOf(".") = True Then
MsgBox("OK")
Else
MsgBox("Error")
End If
End Sub
2.ถ้าจะเลือกให้ show ข้อมูลยอดขายสินค้า ระหว่างเดือนควรใช้คำสั่งอะไรอ่ะครับ
Ans : ต้องการโชว์ยอดขาย แสดงว่าจะต้องคำนวณตามไอเท็มแล้ว ไม่ใช่แค่แสดงรายการที่ขาย น่าจะเขียนได้ประมาณนี้ครับ Code (SQL)
SELECT ITEM, SUM(QTY) , SUM(QTY * COST) [COST] , SUM(QTY * PRICE) [PRICE]
FROM HR_ITEM_MST
WHERE CREATEDATE BETWEEN '2019-05-01 00:00:00' AND '2019-05-31 23:59:59'
GROUP BY ITEM
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'97 - 122 = Ascii codes for simple letters
'65 - 90 = Ascii codes for capital letters
'48 - 57 = Ascii codes for numbers
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub