2016-05-06 7 views
-3
SELECT TOP (5) 
    Sales.Product, Sales.Product_Price, COUNT(*) AS CNT, 
    Products.Category, Products.IMG_URL, Products.Rate_Avg 
FROM   
    Sales 
INNER JOIN 
    Products ON Sales.Product = Products.Product 
GROUP BY  
    Sales.Product, Sales.Product_Price, 
    Products.Category, Products.IMG_URL, Products.Rate_Avg 
HAVING   
    (COUNT(*) > 1) 
ORDER BY  CNT DESC 
+1

あなたが試したことは私たちには表示されていません。これをlinqに翻訳して、私たちがあなたを支援できるようにしてください。私たちにあなたのためにこれをするように求めるのは、通常、このサイトの仕組みではありません。 –

答えて

1

ほとんどのクエリは、同等のlinq-to-sql式と1対1で対応しています。 TOP (5)の部分を最後に追加する必要があります。

(from s in db.Sales 
join p in db.Products on s.Product equals p.Product 
group s by new { s.Product, s.Product_Price, p.Category, p.IMG_URL, p.Rate_Avg } into g 
where g.Count() > 1 
orderby g.Count() descending 
select new 
{ 
    g.Key.Product, 
    g.Key.Product_Price, 
    CNT = g.Count(), 
    g.Key.Category, 
    g.Key.IMG_URL, 
    g.Key.Rate_Avg, 
}).Take(5) 
+0

しかし、どのように私はforeachを使用しているテーブルのasp.netページに表示することができます –

関連する問題