Simply put, your GROUP BY should appear somewhere in your selection. You are already converting TransactionDate to the string "date only", although DATEADD and DATEDIFF together are actually more efficient.
Therefore, just GROUP BY in the same format:
SELECT ProductCode, ProductName, ProductType, UnitPrice,QTY, Amount, DATEADD(day, DATEDIFF(day, 0, TransactionDate), 0) AS sTransactionDate FROM DailyTransactions GROUP BY DATEADD(day, DATEDIFF(day, 0, TransactionDate), 0), ProductCode, ProductName,ProductType,UnitPrice,QTY,Amount
source share